حاولت تحديث التبعية لكن لم أفلح.
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)
تمت إزالة 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
}
}
التعليق الأكثر فائدة
لقد أصبت بنفس الخطأ وأتيت إلى هنا أيضًا.
المشكلة الحقيقية هي
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/).هذه ثابتة بالنسبة لي.