Picasso: لم يتم العثور على الفئة "com.squareup.picasso.PicassoProvider

تم إنشاؤها على ٢٩ أكتوبر ٢٠١٩  ·  4تعليقات  ·  مصدر: square/picasso

حاولت تحديث التبعية لكن لم أفلح.

2019-10-29 12:01: 07.723 21430-21430 / com.johnny.john.bakingapp E / Android وقت التشغيل: استثناء قاتل: رئيسي
العملية: com.johnny.john.bakingapp، PID: 21430
java.lang.RuntimeException: تعذر الحصول على الموفر com.squareup.picasso.PicassoProvider: java.lang.ClassNotFoundException: لم يتم العثور على الفئة "com.squareup.picasso.PicassoProvider" في المسار: DexPathList [[ملف مضغوط "/ data / app / com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ == / base.apk "]، nativeLibraryDirectories = [/ data / app / com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ =، / system / lib / x86 بائع / ليب]]
على android.app.ActivityThread.installProvider (ActivityThread.java:6288)
على android.app.ActivityThread.installContentProviders (ActivityThread.java:5851)
على android.app.ActivityThread.handleBindApplication (ActivityThread.java:5772)
في android.app.ActivityThread.-wrap1 (مصدر غير معروف: 0)
على android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1661)
على android.os.Handler.dispatchMessage (Handler.java:105)
على android.os.Looper.loop (Looper.java:164)
على android.app.ActivityThread.main (ActivityThread.java:6541)
على java.lang.reflect.Method.invoke (الطريقة الأصلية)
على com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240)
في com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)
السبب: java.lang.ClassNotFoundException: لم يتم العثور على الفئة "com.squareup.picasso.PicassoProvider" في المسار: DexPathList [[ملف مضغوط "/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ .apk "]، nativeLibraryDirectories = [/ data / app / com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ == / lib / x86، / system / lib، / vendor / lib]]
في dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:93)
في java.lang.ClassLoader.loadClass (ClassLoader.java:379)
في java.lang.ClassLoader.loadClass (ClassLoader.java:312)

التعليق الأكثر فائدة

لقد أصبت بنفس الخطأ وأتيت إلى هنا أيضًا.

2020-06-29 11:15:23.512 25599-25599/com.myactionreplay.rlpitchside E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.myactionreplay.rlpitchside, PID: 25599
    java.lang.RuntimeException: Unable to get provider com.squareup.picasso.PicassoProvider: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.PicassoProvider" on path: DexPathList[[zip file "/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
        at android.app.ActivityThread.installProvider(ActivityThread.java:6581)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6944)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.PicassoProvider" on path: DexPathList[[zip file "/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6566)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764) 
        at android.os.Handler.dispatchMessage(Handler.java:105) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6944) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 
        Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk because: Failure to verify dex file '/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk': Bad method handle type 7
        at dalvik.system.DexFile.openDexFileNative(Native Method)
        at dalvik.system.DexFile.openDexFile(DexFile.java:353)
        at dalvik.system.DexFile.<init>(DexFile.java:100)
        at dalvik.system.DexFile.<init>(DexFile.java:74)
        at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
        at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
        at dalvik.system.DexPathList.<init>(DexPathList.java:157)
        at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
        at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
        at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
        at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:678)
        at android.app.LoadedApk.getClassLoader(LoadedApk.java:711)
        at android.app.LoadedApk.getResources(LoadedApk.java:944)
        at android.app.ContextImpl.createAppContext(ContextImpl.java:2303)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5943)
                ... 8 more

المشكلة الحقيقية هي Bad method handle type 7 . يحدث هذا بسبب استخدام طريقة تكون مدعوًا لطريقة مباشرة (خاصة). كان هذا خطأ في تطبيقي باستخدام Picasso 2.71828 مع Retrofit 2.9.0 ولكن بدون إضافة خيارات تجميع Java 8 إلى ملف build.gradle الخاص بي. Retrofit requires at minimum Java 8+ or Android API 21+. (https://square.github.io/retrofit/).

هذه ثابتة بالنسبة لي.

android {
    ....
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

ال 4 كومينتر

تمت إزالة PicassoProvider لصالح إنشاء وإدارة مثيلات Picasso الخاصة بك باستخدام DI اليدوي أو المستند إلى إطار العمل.

لم أفهم أي شيء قلته. كيف يمكنني حل هذه المشكلة؟

تمت إزالة PicassoProvider هنا: https://github.com/square/picasso/pull/2057

بدلاً من ذلك ، قم بإنشاء كائن Picasso الخاص بك وقم بتمريره عند الحاجة.

لقد أصبت بنفس الخطأ وأتيت إلى هنا أيضًا.

2020-06-29 11:15:23.512 25599-25599/com.myactionreplay.rlpitchside E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.myactionreplay.rlpitchside, PID: 25599
    java.lang.RuntimeException: Unable to get provider com.squareup.picasso.PicassoProvider: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.PicassoProvider" on path: DexPathList[[zip file "/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
        at android.app.ActivityThread.installProvider(ActivityThread.java:6581)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6944)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.PicassoProvider" on path: DexPathList[[zip file "/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6566)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6133) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6043) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764) 
        at android.os.Handler.dispatchMessage(Handler.java:105) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6944) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 
        Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk because: Failure to verify dex file '/data/app/com.myactionreplay.rlpitchside-xxTE8QNlI0Yuy3q8DJx4SQ==/base.apk': Bad method handle type 7
        at dalvik.system.DexFile.openDexFileNative(Native Method)
        at dalvik.system.DexFile.openDexFile(DexFile.java:353)
        at dalvik.system.DexFile.<init>(DexFile.java:100)
        at dalvik.system.DexFile.<init>(DexFile.java:74)
        at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
        at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
        at dalvik.system.DexPathList.<init>(DexPathList.java:157)
        at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
        at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
        at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
        at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
        at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:678)
        at android.app.LoadedApk.getClassLoader(LoadedApk.java:711)
        at android.app.LoadedApk.getResources(LoadedApk.java:944)
        at android.app.ContextImpl.createAppContext(ContextImpl.java:2303)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5943)
                ... 8 more

المشكلة الحقيقية هي Bad method handle type 7 . يحدث هذا بسبب استخدام طريقة تكون مدعوًا لطريقة مباشرة (خاصة). كان هذا خطأ في تطبيقي باستخدام Picasso 2.71828 مع Retrofit 2.9.0 ولكن بدون إضافة خيارات تجميع Java 8 إلى ملف build.gradle الخاص بي. Retrofit requires at minimum Java 8+ or Android API 21+. (https://square.github.io/retrofit/).

هذه ثابتة بالنسبة لي.

android {
    ....
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات