Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Didn't find class "com.squareup.picasso.PicassoProvider #2121

Closed
johnjeremih opened this issue Oct 29, 2019 · 6 comments
Closed

Didn't find class "com.squareup.picasso.PicassoProvider #2121

johnjeremih opened this issue Oct 29, 2019 · 6 comments

Comments

@johnjeremih
Copy link

I tried to update the dependency but didn't work.

2019-10-29 12:01:07.723 21430-21430/com.johnny.john.bakingapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.johnny.john.bakingapp, PID: 21430
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.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/lib/x86, /system/lib, /vendor/lib]]
at android.app.ActivityThread.installProvider(ActivityThread.java:6288)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.PicassoProvider" on path: DexPathList[[zip file "/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.johnny.john.bakingapp-Hv0j5sXQnQA3WUTrON11KQ==/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

@jrodbx
Copy link
Collaborator

jrodbx commented Oct 29, 2019

PicassoProvider has been removed in favor of creating and managing your own Picasso instances using manual or framework-based DI.

@jrodbx jrodbx closed this as completed Oct 29, 2019
@johnjeremih
Copy link
Author

I didn't understand anything you said. How do I solve this problem?

@jrodbx jrodbx reopened this Oct 29, 2019
@jrodbx
Copy link
Collaborator

jrodbx commented Oct 29, 2019

PicassoProvider was removed here: #2057

Instead, create your own Picasso object and pass it where needed.

@nBollard
Copy link

nBollard commented Jun 28, 2020

I hit this same error and came here as well.

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

The real issue is Bad method handle type 7. This is caused by using a method which is an invoker for a direct (special) method. This was a bug in my app by using Picasso 2.71828 with Retrofit 2.9.0 but not adding Java 8 compile options to my build.gradle file. Retrofit requires at minimum Java 8+ or Android API 21+. (https://square.github.io/retrofit/).

This fixed it for me.

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

@Meenu1401
Copy link

Getting this error in production in integration of the in-app messaging feature of Firebase

Fatal Exception: 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.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/base.apk", zip file "/data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/split_config.arm64_v8a.apk", zip file "/data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/lib/arm64, /data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/base.apk!/lib/arm64-v8a, /data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/split_config.arm64_v8a.apk!/lib/arm64-v8a, /data/app/com.intspvt.app.dehaat2-IPMYB0TRKbmDabpqZBh-pQ==/split_config.xxhdpi.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]
at android.app.ActivityThread.installProvider(ActivityThread.java:7290)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6764)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6614)
at android.app.ActivityThread.access$1600(ActivityThread.java:231)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1952)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7682)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

@lxj-helloworld
Copy link

areup.picasso.PicassoProvider

how to fix it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants