2017-08-22 3 views
0

Mon application fonctionne bien sur l'émulateur, mais j'ai eu cette erreur après avoir installé l'application sur les appareils réels en utilisant apk.java.lang.ClassNotFoundException sur une application qui fonctionne sur l'émulateur

FATAL EXCEPTION: main 
Process: com.example.wiserlab.macquest, PID: 9151 
java.lang.RuntimeException: Unable to get provider com.example.wiserlab.macquest.model.CustomContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.example.wiserlab.macquest.model.CustomContentProvider" on path: DexPathList[[zip file "/data/app/com.example.wiserlab.macquest-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.wiserlab.macquest-1, /vendor/lib, /system/lib]] 
     at android.app.ActivityThread.installProvider(ActivityThread.java:4777) 
     at android.app.ActivityThread.installContentProviders(ActivityThread.java:4369) 
     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4309) 
     at android.app.ActivityThread.access$1500(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5001) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
     at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.wiserlab.macquest.model.CustomContentProvider" on path: DexPathList[[zip file "/data/app/com.example.wiserlab.macquest-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.wiserlab.macquest-1, /vendor/lib, /system/lib]] 

Je suis sûr que cette classe existe. Dois-je importer cette classe ailleurs?

Merci!

Répondre

1

Si vous avez activé proguard, votre code est peut-être désorganisé et l'incident concerne certaines fonctionnalités qui utilisent Reflection comme Gson.

Vérifiez que le type de construction dans l'émulateur est identique à celui des périphériques réels (en mode de débogage). Vous pouvez également essayer de définir useProguard false dans vos paramètres BuildType.

0

Le problème est masqué en supprimant le dossier de construction et en le reconstruisant.