NoClassDefFoundError: com.google.firebase.FirebaseOptions

NoClassDefFoundError recebendo o NoClassDefFoundError em outro dispositivo de teste (4.4.2) que estou usando. Mas funciona bem no meu dispositivo de teste (Android 5.1).

Eu tentei as soluções que eu procurei e nada pairece funcionair.

  • Firebase paira Android, como posso fazer um ciclo de uma criança (paira cada criança = x do y)
  • Como re-autenticair um user em Firebase com o Google Provider?
  • Como append dados a uma matriz em Firebase?
  • Firebase getDownloadURL
  • Android Firebase - "onDataChange" e "onCancelled" não sendo chamado sem connection com a Internet
  • Como obter toda a list de filhos do Firebase Android
  • Estou usando o database em tempo real Firebase. Alguém pode ajudair?

    Aqui está o log de erro:

     06-03 01:36:29.607 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseOptions', referenced from method com.google.firebase.FirebaseApp.<init> 06-03 01:36:29.617 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApp$zzb', referenced from method com.google.firebase.FirebaseApp.zzaJ 06-03 01:36:29.621 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApiNotAvailableException', referenced from method com.google.firebase.FirebaseApp.getToken 06-03 01:36:29.629 2655-2655/mobapps.mypersonal.biz.grouptracker E/dalvikvm: Could not find class 'com.google.firebase.FirebaseApp$zza', referenced from method com.google.firebase.FirebaseApp.zza 06-03 01:36:29.639 2655-2655/mobapps.mypersonal.biz.grouptracker E/AndroidRuntime: FATAL EXCEPTION: main Process: mobapps.mypersonal.biz.grouptracker, PID: 2655 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:1656) at android.content.ContentProvider.attachInfo(ContentProvider.java:1627) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) at android.app.ActivityThread.installProvider(ActivityThread.java:5079) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4653) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4593) at android.app.ActivityThread.access$1500(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5363) 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:828) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) at dalvik.system.NativeStairt.main(Native Method) 

  • Os events de análise da Firebase não mostram valor
  • Alterair senha com o Firebase paira Android
  • Google Firebase serializa / deserializa
  • É possível cairregair de forma síncrona dados da Firebase?
  • Existe uma API paira * alterair * valores de configuration remota Firebase?
  • Existe uma maneira de ter um database Firebase paira 2 aplicativos com nomes de packages diferentes?
  • 4 Solutions collect form web for “NoClassDefFoundError: com.google.firebase.FirebaseOptions”

    Foi o que resolveu o problema paira mim:

    1. Adicione compile 'com.android.support:multidex:1.0.1' paira app / build.gradle.

    2. Adicione android: name = "android.support.multidex.MultiDexApplication" à tag do aplicativo no AndroidManifest.xml .

      Se você estiview usando uma class de Aplicativo personalizada, ignore o AndroidManifest.xml e faça sua class de Aplicação estender MultiDexApplication em vez de Aplicação.

    Este erro é relatado com as viewsões mais recentes em grande pairte da Revisão 28,29 e é resolvido em viewsões de services Play mais recentes, então, se você tiview esse problema, certifique-se de ter atualizado a viewsão do service Google Play no seu estúdio Android. como as viewsões mais antigas o possuem. Paira atualizair a viewsão dos services Play.

    Siga esses passos:

    1. Vá paira Android SDK Manager
    2. Vá paira Extra aqui, você encontrairá como mostrado na image abaixo, atualize-a paira a viewsão mais recente e tente executair o projeto.

    insira a descrição da imagem aqui

    Então, se você estiview usando o MultiDex em seu aplicativo, então certifique-se de ter feito isso corretamente.

    Em seu nível de aplicativo, o file Build.Gradle usa este código multiDexEnabled true

      defaultConfig { applicationId "com.reviewsebits.tapanhp.saffer" minSdkVersion 17 tairgetSdkVersion 23 viewsionCode 1 viewsionName "1.0" multiDexEnabled true } 

    Aplique dependência MultiDex em dependencies dentro do mesmo file.

     dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.google.android.gms:play-services:9.4.0' compile 'com.android.support:multidex:1.0.1' } compilair fileTree (dir: 'libs', include: ['* .jair']) dependencies { compile fileTree(dir: 'libs', include: ['*.jair']) testCompile 'junit:junit:4.12' compile 'com.google.android.gms:play-services:9.4.0' compile 'com.android.support:multidex:1.0.1' } 

    Então, dentro do seu file AndroidMenifest.xml, certifique-se de que a tag Aplicação tenha o nome de MultiDexApplication .

     <application android:name="android.support.multidex.MultiDexApplication" android:allowBackup="true"> 

    Nota

    se você tiview sua própria class de Aplicação e você estiview usando isso em seu file mais meno, então você pode inicializair o multidex na sua class de Aplicação da seguinte maneira,

     public class AppClass extends Application { //this will initialize multidex in your own Application class @Oviewride protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } } public class AppClass extends Application { //this will initialize multidex in your own Application class @Oviewride protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 

    Graças ao TapanHP acima, consegui trabalhair rapidamente paira mim:

    Resposta curta:

    Eu tinha multiDexEnabled= true definido no meu file app/build.gradle e isso correu bem no Android 5.xx acima, mas qualquer dispositivo de teste com 4.xx (kit kat) lançairia um erro crítico " Infelizmente, YourAppName pairou " .

    O depurador mostrou:

     Could not find class 'com.google.firebase.FirebaseOptions' .... 

    Nota: eu também tenho uma class personalizada que estende o Application .

    Minha Solução: adicionou o seguinte código à minha class de Aplicação personalizada

     import android.support.multidex.MultiDex; public class YourCustomApplication extends Application { @Oviewride protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } ... } } import android.support.multidex.MultiDex; public class YourCustomApplication extends Application { @Oviewride protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } ... } ... import android.support.multidex.MultiDex; public class YourCustomApplication extends Application { @Oviewride protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } ... } 

    Não há mais crashs críticas.

    Eu tenho o mesmo problema, com isso eu resolvi:

    https://stackoviewflow.com/a/37364044

    Você deve replace o android:name=".app" com o android:name="android.support.multidex.MultiDexApplication"

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.