Firebase API 初始化失败,java.lang.reflect.InvocationTargetException

Firebase API initialization failure,java.lang.reflect.InvocationTargetException

我在我的应用程序中使用了 firebase 身份验证、数据库和存储服务。它以前工作正常。我已经按照文档中的描述添加了 firebase 云消息传递设置。但是应用程序在 runtime.I 崩溃调查了大约 4 个小时的问题并尝试了不同的解决方案。就像保持所有库版本相同、更改 appcompat 库版本并将应用程序更改为 multidex.But 一样没有任何帮助。下面是我的 gradle 依赖项:

compile('com.digits.sdk.android:digits:2.0.6@aar') {
    transitive = true;
}

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:percent:25.3.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
testCompile 'junit:junit:4.12'

//Firebase
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-messaging:10.0.1'
compile 'com.firebaseui:firebase-ui-storage:0.6.0'

编译应用时产生以下异常:

05-02 20:05:55.746 31927-31927/com.apponative.committeeapp A/FirebaseApp: Firebase API initialization failure.
  java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.google.firebase.FirebaseApp.zza(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(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:5015)
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)
      at android.app.ActivityThread.access00(ActivityThread.java:151)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
      at android.os.Handler.dispatchMessage(Handler.java:110)
      at android.os.Looper.loop(Looper.java:193)
      at android.app.ActivityThread.main(ActivityThread.java:5299)
      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:829)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.NoSuchMethodError: com.google.android.gms.common.api.zzc.<init>
      at com.google.android.gms.internal.zzbiu.<init>(Unknown Source)
      at com.google.android.gms.internal.zzbjc.zza(Unknown Source)
      at com.google.firebase.auth.FirebaseAuth.zzb(Unknown Source)
      at com.google.firebase.auth.FirebaseAuth.<init>(Unknown Source)
      at com.google.android.gms.internal.zzbkg.<init>(Unknown Source)
      at com.google.firebase.auth.FirebaseAuth.zzd(Unknown Source)
      at com.google.firebase.auth.FirebaseAuth.zzc(Unknown Source)
      at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.google.firebase.FirebaseApp.zza(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(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:5015) 
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589) 
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522) 
      at android.app.ActivityThread.access00(ActivityThread.java:151) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 
      at android.os.Handler.dispatchMessage(Handler.java:110) 
      at android.os.Looper.loop(Looper.java:193) 
      at android.app.ActivityThread.main(ActivityThread.java:5299) 
      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:829) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
      at dalvik.system.NativeStart.main(Native Method) 
05-02 20:05:55.774 31927-31927/com.apponative.committeeapp A/FirebaseApp: Firebase API initialization failure.
  java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.google.firebase.FirebaseApp.zza(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(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:5015)
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)
      at android.app.ActivityThread.access00(ActivityThread.java:151)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
      at android.os.Handler.dispatchMessage(Handler.java:110)
      at android.os.Looper.loop(Looper.java:193)
      at android.app.ActivityThread.main(ActivityThread.java:5299)
      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:829)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.NoSuchMethodError: com.google.android.gms.common.util.zzx.getNoBackupFilesDir
      at com.google.firebase.iid.zzh.zzeG(Unknown Source)
      at com.google.firebase.iid.zzh.<init>(Unknown Source)
      at com.google.firebase.iid.zzh.<init>(Unknown Source)
      at com.google.firebase.iid.zzd.zzb(Unknown Source)
      at com.google.firebase.iid.FirebaseInstanceId.getInstance(Unknown Source)
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.google.firebase.FirebaseApp.zza(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(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:5015) 
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589) 
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522) 
      at android.app.ActivityThread.access00(ActivityThread.java:151) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 
      at android.os.Handler.dispatchMessage(Handler.java:110) 
      at android.os.Looper.loop(Looper.java:193) 
      at android.app.ActivityThread.main(ActivityThread.java:5299) 
      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:829) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
      at dalvik.system.NativeStart.main(Native Method) 
05-02 20:05:55.818 31927-31927/com.apponative.committeeapp A/FirebaseApp: Firebase API initialization failure.
  java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.google.firebase.FirebaseApp.zza(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
      at com.google.firebase.FirebaseApp.initializeApp(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:5015)
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)
      at android.app.ActivityThread.access00(ActivityThread.java:151)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
      at android.os.Handler.dispatchMessage(Handler.java:110)
      at android.os.Looper.loop(Looper.java:193)
      at android.app.ActivityThread.main(ActivityThread.java:5299)
      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:829)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.NoSuchMethodError: com.google.android.gms.internal.zzapn.zzb
      at com.google.android.gms.internal.zzbku.<clinit>(Unknown Source)
      at com.google.firebase.crash.FirebaseCrash.getInstance(Unknown Source)
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.google.firebase.FirebaseApp.zza(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
      at com.google.firebase.FirebaseApp.initializeApp(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:5015) 
      at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589) 
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522) 
      at android.app.ActivityThread.access00(ActivityThread.java:151) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 
      at android.os.Handler.dispatchMessage(Handler.java:110) 
      at android.os.Looper.loop(Looper.java:193) 
      at android.app.ActivityThread.main(ActivityThread.java:5299) 
      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:829) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)   at dalvik.system.NativeStart.main(Native Method) 
05-02 20:05:55.845 31927-31927/com.apponative.committeeapp A/FirebaseApp: Firebase API initialization failure.
  java.lang.reflect.InvocationTargetException  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.google.firebase.FirebaseApp.zza(Unknown Source)          at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)      at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)        at com.google.firebase.FirebaseApp.initializeApp(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:5015)  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589)at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)  at android.app.ActivityThread.access00(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)  at android.os.Handler.dispatchMessage(Handler.java:110)  at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5299)  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:829)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.VerifyError: com/google/android/gms/internal/zzatp at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515)  at com.google.firebase.FirebaseApp.zza(Unknown Source) at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)  at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)  at com.google.firebase.FirebaseApp.initializeApp(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:5015)  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522)  at android.app.ActivityThread.access00(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) at android.os.Handler.dispatchMessage(Handler.java:110)  at android.os.Looper.loop(Looper.java:193)  at android.app.ActivityThread.main(ActivityThread.java:5299) 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:829) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
      at dalvik.system.NativeStart.main(Native Method) 
05-02 20:05:56.468 31927-31927/com.apponative.committeeapp E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
05-02 20:05:56.842 31927-31927/com.apponative.committeeapp E/AndroidRuntime: FATAL EXCEPTION: main
     Process: com.apponative.committeeapp, PID: 31927
     java.lang.NoSuchMethodError: com.google.android.gms.common.api.zzc.<init>       at com.google.android.gms.internal.zzbiu.<init>(Unknown Source)                at com.google.android.gms.internal.zzbjc.zza(Unknown Source)                  at com.google.firebase.auth.FirebaseAuth.zzb(Unknown Source)                 at com.google.firebase.auth.FirebaseAuth.<init>(Unknown Source)               at com.google.android.gms.internal.zzbkg.<init>(Unknown Source)               at com.google.firebase.auth.FirebaseAuth.zzd(Unknown Source)                   at com.google.firebase.auth.FirebaseAuth.zzc(Unknown Source)                  at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)               at com.apponative.committeeapp.firebase.FireBaseAuth.fireBaseAuth(FireBaseAuth.java:42)             

您不应将 com.google.android.gms:play-services:10.0.1 作为依赖项包含在内。这会将所有 Google Play Services API 添加到您的构建中,并且可能需要您使用 MultiDex。相反,请按照标题为 选择性地将 API 编译到您的 executable 部分中的 Setup Guide 中提供的说明添加为依赖项 only 您实际使用的特定 API。

此外,您包含的 Firebase UI 库的版本必须与 Firebase 库的版本兼容。 table 兼容版本包含在 Firebase UI documentation 中。对于 Firebase API 版本 10.0.1,您应该使用 firebase-ui-storage:1.1.1