2017-08-11 4 views
0

Mon application fonctionnait bien mais elle plante maintenant. J'ai commencé à recevoir des avertissements même si je ne suis pas en train d'intégrer Firebase. Maintenant, je pense que je ne peux pas résoudre ce problème. J'ai essayé toutes les solutions possibles sur stackoverflow. En outre, j'utilise viewpager dans mon code si cela aide.java.lang.ClassNotFoundException: N'a pas trouvé la classe "com.google.android.gms.measurement.AppMeasurement" sur le chemin: DexPathList

LogCat

W/Ads: Invoke Firebase method getInstance error. 
            java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.measurement.AppMeasurement" on path: DexPathList[[zip file "/data/app/com.kidsbox.android.abcforkidsalphabetshapesandnumbers-1/base.apk"],nativeLibraryDirectories=[/data/app/com.kidsbox.android.abcforkidsalphabetshapesandnumbers-1/lib/arm, /vendor/lib, /system/lib]] 
             at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
             at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
             at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
             at com.google.android.gms.ads.internal.scionintegration.b.a(:com.google.android.gms.DynamiteModulesA:167) 
             at com.google.android.gms.ads.internal.scionintegration.b.a(:com.google.android.gms.DynamiteModulesA:152) 
             at com.google.android.gms.ads.internal.scionintegration.b.g(:com.google.android.gms.DynamiteModulesA:43) 
             at com.google.android.gms.ads.internal.request.c.a(:com.google.android.gms.DynamiteModulesA:26) 
             at com.google.android.gms.ads.internal.util.b.run(:com.google.android.gms.DynamiteModulesA:4) 
             at com.google.android.gms.ads.internal.util.af.call(:com.google.android.gms.DynamiteModulesA:3) 
             at com.google.android.gms.ads.internal.util.ag.run(:com.google.android.gms.DynamiteModulesA:3) 
             at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
             at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
             at java.lang.Thread.run(Thread.java:818) 
            Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.measurement.AppMeasurement 
             at java.lang.Class.classForName(Native Method) 
             at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
             at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
             at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
              ... 13 more 
            Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

Manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.kidsbox.android.abcforkidsalphabetshapesandnumbers"> 

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Alphabet" /> 
    <activity android:name=".Number" /> 
    <activity android:name=".Shapes"/> 
</application> 

build.gradle

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 25 
buildToolsVersion "25.0.2" 
defaultConfig { 
    applicationId "com.kidsbox.android.abcforkidsalphabetshapesandnumbers" 
    minSdkVersion 16 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.google.android.gms:play-services-ads:11.0.4' 
testCompile 'junit:junit:4.12' 
} 
+0

Essayé de désactiver la fonction instantanée? –

+0

Oui, j'ai essayé de désactiver l'exécution instantanée, cela ne fonctionne pas – danish

Répondre

0

Je pense que cette question est similaire avec How to enable multidexing with the new Android Multidex support library

  1. Ajoutez implementation "com.android.support:multidex:1.0.1" dans les dépendances de build.gradle (l'implémentation peut être remplacée par la compilation);
  2. Ajouter une application personnalisée s'étend de Application. Ajoutez le code ci-dessous:

    override fun attachBaseContext(base: Context?) { 
        super.attachBaseContext(base) 
        MultiDex.install(this) 
    } 
    
  3. Ajoutez votre application personnalisée dans AnroidManifest.xml comme android:name=".CustomApplication"

0

Vous devez utiliser la compilation 'com.google.firebase: Firebase-annonces: 11.2.0' au lieu de compiler 'com.google.android.gms: play-services-ads: 11.2.0'