android - Firebase API 初始化失败,java.lang.reflect.InitationTargetException

标签 android firebase android-appcompat android-multidex

我在我的应用中使用 firebase 身份验证、数据库和存储服务。以前工作得很好。我已经添加了 firebase 云消息传递设置,如文档中所述。但应用程序在运行时崩溃了。我调查了这个问题大约 4 个小时并尝试了不同的解决方案。就像保持所有库版本相同、更改 appcompat 库版本并将应用程序更改为 multidex 一样。但没有任何帮助。以下是我的 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.access$1500(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.access$1500(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.access$1500(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.access$1500(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.access$1500(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.access$1500(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.access$1500(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.access$1500(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 服务 API 添加到您的构建中,并且可能需要您使用 MultiDex。相反,请按照 Setup Guide 中提供的说明进行操作。在标题为选择性地将 API 编译到可执行文件的部分中,将您实际使用的特定 API 添加为依赖项。

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

关于android - Firebase API 初始化失败,java.lang.reflect.InitationTargetException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741741/

相关文章:

android - DialogFragment - 屏幕旋转后保留监听器

android - 为什么我的 flutter http 网络调用很慢?

android - https ://www. googleapis.com/identitytoolkit/v3/relyingparty/sendVerificationCode 的意外响应代码 400?

Firebase 控制台 : How do I delete a table?

android - "Back button"使用 getSupportActionbar 和 appcompat v7 工具栏

android - 如何使用 appcompat v7 创建卡片工具栏

java - Android Kinvey java.lang.NoClassDefFoundError

android - Firebase 云消息传递 : notification one-to-one

Android - 在特定日期和时间在 Firebase 作业调度程序中运行作业

java - Android 操作未显示在操作栏中