Picasso: Klasse „com.squareup.picasso.PicassoProvider“ nicht gefunden

Erstellt am 29. Okt. 2019  ·  4Kommentare  ·  Quelle: square/picasso

Ich habe versucht, die Abhängigkeit zu aktualisieren, aber es hat nicht funktioniert.

2019-10-29 12:01:07.723 21430-21430/com.johnny.john.bakingapp E/AndroidRuntime: FATAL EXCEPTION: main
Prozess: com.johnny.john.bakingapp, PID: 21430
java.lang.RuntimeException: Anbieter com.squareup.picasso.PicassoProvider konnte nicht abgerufen werden: java.lang.ClassNotFoundException: Klasse „com.squareup.picasso.PicassoProvider“ nicht gefunden im Pfad: DexPathList[[Zip-Datei „/data/ app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/lib/x86, /system/lib, / Anbieter/Bibliothek]]
bei android.app.ActivityThread.installProvider (ActivityThread.java:6288)
bei android.app.ActivityThread.installContentProviders (ActivityThread.java:5851)
bei android.app.ActivityThread.handleBindApplication (ActivityThread.java:5772)
bei android.app.ActivityThread.-wrap1 (Unbekannte Quelle: 0)
bei android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
bei android.os.Handler.dispatchMessage (Handler.java:105)
bei android.os.Looper.loop(Looper.java:164)
bei android.app.ActivityThread.main (ActivityThread.java:6541)
bei java.lang.reflect.Method.invoke (native Methode)
bei com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
bei com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Verursacht durch: java.lang.ClassNotFoundException: Klasse „com.squareup.picasso.PicassoProvider“ nicht gefunden im Pfad: DexPathList[[Zip-Datei „/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/base .apk"],nativeLibraryDirectories=[/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/lib/x86, /system/lib, /vendor/lib]]
bei dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
bei java.lang.ClassLoader.loadClass (ClassLoader.java:379)
bei java.lang.ClassLoader.loadClass (ClassLoader.java:312)

Hilfreichster Kommentar

Ich bin auf denselben Fehler gestoßen und bin auch hierher gekommen.

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

Das eigentliche Problem ist Bad method handle type 7 . Dies wird durch die Verwendung einer Methode verursacht, die ein Aufrufer für eine direkte (spezielle) Methode ist. Dies war ein Fehler in meiner App, indem ich Picasso 2.71828 mit Retrofit 2.9.0 verwendete, aber meiner build.gradle-Datei keine Java 8-Kompilierungsoptionen hinzufügte. Retrofit requires at minimum Java 8+ or Android API 21+. (https://square.github.io/retrofit/).

Dies hat es für mich behoben.

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

Alle 4 Kommentare

PicassoProvider wurde zugunsten der Erstellung und Verwaltung Ihrer eigenen Picasso-Instanzen mit manueller oder Framework-basierter DI entfernt.

Ich habe nichts verstanden, was du gesagt hast. Wie löse ich dieses Problem?

PicassoProvider wurde hier entfernt: https://github.com/square/picasso/pull/2057

Erstellen Sie stattdessen Ihr eigenes Picasso-Objekt und geben Sie es bei Bedarf weiter.

Ich bin auf denselben Fehler gestoßen und bin auch hierher gekommen.

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

Das eigentliche Problem ist Bad method handle type 7 . Dies wird durch die Verwendung einer Methode verursacht, die ein Aufrufer für eine direkte (spezielle) Methode ist. Dies war ein Fehler in meiner App, indem ich Picasso 2.71828 mit Retrofit 2.9.0 verwendete, aber meiner build.gradle-Datei keine Java 8-Kompilierungsoptionen hinzufügte. Retrofit requires at minimum Java 8+ or Android API 21+. (https://square.github.io/retrofit/).

Dies hat es für mich behoben.

android {
    ....
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen