web-dev-qa-db-fra.com

java.lang.ClassNotFoundException: n'a pas trouvé la classe "com.google.Android.gms.ads.MobileAdsInitProvider"

Je suis confronté à ce problème dans Android Version 4.4 et inférieure. J'ai intégré Google admob et lorsque je lance l'application, l'application se bloque avec ClassNotFoundException.

Veuillez trouver le stacktrace ci-dessous.

Process: app.learnkannada.com.learnkannadakannadakali, PID: 1320
Java.lang.RuntimeException: Unable to get provider com.google.Android.gms.ads.MobileAdsInitProvider: Java.lang.ClassNotFoundException: Didn't find class "com.google.Android.gms.ads.MobileAdsInitProvider" on path: DexPathList[[Zip file "/data/app/app.learnkannada.com.learnkannadakannadakali-2.apk"],nativeLibraryDirectories=[/data/app-lib/app.learnkannada.com.learnkannadakannadakali-2, /system/lib]]
    at Android.app.ActivityThread.installProvider(ActivityThread.Java:4793)
    at Android.app.ActivityThread.installContentProviders(ActivityThread.Java:4385)
    at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4325)
    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:5017)
    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:779)
    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:595)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.google.Android.gms.ads.MobileAdsInitProvider" on path: DexPathList[[Zip file "/data/app/app.learnkannada.com.learnkannadakannadakali-2.apk"],nativeLibraryDirectories=[/data/app-lib/app.learnkannada.com.learnkannadakannadakali-2, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:497)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:457)
    at Android.app.ActivityThread.installProvider(ActivityThread.Java:4778)
    at Android.app.ActivityThread.installContentProviders(ActivityThread.Java:4385) 
    at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4325) 
    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:5017) 
    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:779) 
    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:595) 
    at dalvik.system.NativeStart.main(Native Method) 

J'ai essayé de chercher sur Google, mais je n'ai pas trouvé ce problème. Demander à la communauté de bien vouloir aider à ce sujet.

Remarque: veuillez noter que j'ai déjà ajouté des métadonnées sur les annonces pour mobile dans Android Manifest déjà.

6
Varun A M

Je viens de faire le 'Build'> 'Clean Project' et ça marche.

2
Leap Bun

J'ai eu une erreur similaire et cela l'a résolu.

Android { 
    ...
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

Je n'ai pas commenté à l'endroit affiché par Majid Mohammad ci-dessus, j'ai donc ajouté une réponse.

0

J'avais aussi ce message d'erreur. Dans mon cas ça n'a rien à voir avec le multidex, mais avec la compatibilité javaversion.

Fichier >> Structure du projet >> Modules >> application >> Propriétés Remplacez "Compatibilité source" et "Compatibilité cible" par 1.8 (actuellement).

Ou dans build.gradle dans "Module: app" (Pas sous Project.)

Android { 
    ...
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

Tout crédit à lazybug: Échec de vérification dex: type de descripteur de méthode incorrect 7

0
Majid Mohammad