32 votes

java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions

J'ai été faire cette erreur bizarre sur mon google developer console. J'ai donc utilisé google Cloud Laboratoire de Test pour Voir ce qui se passe vraiment. s'avère que mon application est un échec sur presque tous les appareils

FATAL EXCEPTION: main
 Process: com.blackcurrantapps.iamin, PID: 16706
 java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions
    at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1591)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1562)
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
    at android.app.ActivityThread.installProvider(ActivityThread.java:4871)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4466)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4406)
    at android.app.ActivityThread.access$1500(ActivityThread.java:139)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5102)
    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)

Voici une capture d'écran du Test. enter image description here

Maintenant, Voici la partie drôle, je n'ai pas encore utiliser Firebase dans mon application à tous. Il n'y a pas de référence à la parole "Firebase" quand je fais une recherche dans le chemin d'accès sur l'ensemble de mon application. Je Ne utiliser google cloud services, connectez-vous et Google app engine si.

Voici mon build.gradle fichier:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.blackcurrantapps.iamin"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 11
        versionName "Fixed Check in Bug"
        multiDexEnabled = true
    }
    buildTypes {
        release {
            shrinkResources true
//            minifyEnabled true
//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}
repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    maven { url "https://oss.sonatype.org/content/groups/public/" }
    maven { url "https://jitpack.io" }
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile('com.mikepenz:materialdrawer:4.5.8@aar') {
        transitive = true
    }

    compile 'com.mikepenz:google-material-typeface:1.2.0.1@aar' //Google Material Design Icons
    compile 'com.mikepenz:fontawesome-typeface:4.4.0.1@aar'

    compile('com.vincentbrison.openlibraries.android:dualcache:2.2.2@jar') {
        transitive = true;
    }

    compile project(':htmlDialog')
    compile('com.twitter.sdk.android:twitter:1.8.0@aar') {
        transitive = true;
    }
    compile 'com.android.support:palette-v7:23.4.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-identity:9.0.0'
    compile 'com.google.android.gms:play-services-base:9.0.0'
    compile 'com.google.android.gms:play-services-plus:9.0.0'
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.rengwuxian.materialedittext:library:2.1.3'
    compile 'com.twotoasters.jazzylistview:library:1.2.1'
    compile 'com.twotoasters.jazzylistview:library-recyclerview:1.2.1'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.getbase:floatingactionbutton:1.10.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp:2.6.0'
    compile 'me.dm7.barcodescanner:zbar:1.8.3'
    compile 'net.glxn.qrgen:android:2.0'
    compile 'com.edmodo:cropper:1.0.1'
    compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.android.support:support-v4:23.4.0'
    compile 'com.pavelsikun:material-seekbar-preference:0.12.1+'

    compile project(path: ':backend', configuration: 'android-endpoints')
}

Quelqu'un peut m'aider ici ?

19voto

Ahmed Mounir Points 218

Merci de poster la question Sanket. Je suis le PM sur Firebase Laboratoire de Test (anciennement Nuage de Laboratoire de Test). Voulais vous laisser savoir que c'est un bug sur notre fin, qui devrait maintenant être résolu.

Il semble que votre application est actuellement en cours à l'aide de la plus récente et Google Play Services. Nous avons mis à jour nos appareils afin de les utiliser de la semaine dernière nous avons alors découvert un bug qui nous fait revenir à une ancienne version. Maintenant, nous avons déployé la dernière pièce services sur nos appareils afin de relancer vos tests doivent travailler. Si non, s'il vous plaît laissez-moi savoir et nous allons l'examiner et de le corriger.

14voto

Swati Rawat Points 853

J'ai trouvé une solution qui a fonctionné pour moi. J'importais toute la bibliothèque de Google Play Services 9.0.1. La solution temporaire consiste à importer uniquement les API dont votre application a réellement besoin. Vous pouvez obtenir la liste complète des API ici .

6voto

sonnv1368 Points 1109

avec mon cas: utiliser FCM et Google map

 //for FCM
compile 'com.google.firebase:firebase-messaging:9.4.0'
//for Map
compile 'com.google.android.gms:play-services:9.4.0'
 

J'ai corrigé: Supprimé

 compile 'com.google.android.gms:play-services:9.4.0'
 

et utilisé

 compile 'com.google.android.gms:play-services-maps:9.4.0'
compile 'com.google.android.gms:play-services-location:9.4.0'
 

Cela a bien fonctionné.

4voto

Devavrata Points 116

Si cela peut aider les autres, je résous ce problème en utilisant ceci, bien que cela ne soit lié nulle part à Firebase mais en réalité, il résout mon crash.

  1. Ajoutez compile 'com.android.support:multidex:1.0.1' à app / build.gradle.

  2. Ajoutez android:name="android.support.multidex.MultiDexApplication" à la balise d'application dans AndroidManifest.xml.

  3. Si vous utilisez une classe d'application personnalisée, ignorez le fichier AndroidManifest.xml et faites en sorte que votre classe d'application étende MultiDexApplication à la place de l'application.

3voto

MMe Points 31

Vous devez utiliser le fichier com.google.firebase: firebase-ads: 9.0.2 AdMob sur les dépendances Android,

 compile 'com.google.firebase:firebase-ads:9.0.2'
 

et retirez votre

 play-services (com.google.android.gms: play-services:9.0.2)
 

Ça marche pour moi!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X