【发布时间】:2017-06-16 21:37:46
【问题描述】:
在应用启动时,控制台会打印以下内容:
Firebase API initialization failure.
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.google.firebase.FirebaseApp.zza(Unknown Source)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
//..
Caused by: java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.<init>()' is inaccessible to class 'com.google.firebase.iid.zzg'
Firebase 设置已按照说明完成:
-
classpath 'com.google.gms:google-services:3.1.0'已添加到顶层build.gradle -
apply plugin: 'com.google.gms.google-services'已添加到应用级别build.gradle
运行./gradlew app:dependencies,可以看到如下输出:
com.google.firebase:firebase-core:9.0.0
\--- com.google.firebase:firebase-analytics:9.0.0
+--- com.google.android.gms:play-services-basement:9.0.0
| \--- com.android.support:support-v4:23.0.0 -> 25.3.1 (*)
+--- com.google.firebase:firebase-common:9.0.0
| +--- com.google.android.gms:play-services-basement:9.0.0 (*)
| \--- com.google.android.gms:play-services-tasks:9.0.0
| \--- com.google.android.gms:play-services-basement:9.0.0 (*)
\--- com.google.firebase:firebase-analytics-impl:9.0.0
+--- com.google.android.gms:play-services-base:9.0.0
| +--- com.google.android.gms:play-services-basement:9.0.0 (*)
| +--- com.google.firebase:firebase-common:9.0.0 (*)
| \--- com.google.android.gms:play-services-tasks:9.0.0 (*)
+--- com.google.android.gms:play-services-basement:9.0.0 (*)
+--- com.google.firebase:firebase-iid:9.0.0
| +--- com.google.android.gms:play-services-basement:9.0.0 (*)
| \--- com.google.firebase:firebase-common:9.0.0 (*)
\--- com.google.firebase:firebase-common:9.0.0 (*)
也许这是问题的一部分,也许不是,但我觉得奇怪的是,最新版本的插件包含旧版本的 Firebase (9.0.0) 而不是 11.0.1。
此外,正如错误所述,问题是由以下原因引起的:
java.lang.IllegalAccessError: Method 'void android.support.v4.content.ContextCompat.<init>()'
这似乎表明 v4 支持库可能与该问题有关。
是什么导致了这些问题,解决方法是什么?
【问题讨论】:
-
你确定你编译的是 Firebase 11.0.1 吗?
-
@cricket_007 什么?
google-services插件包含该库,从./gradlew app:dependencies的输出中可以看出,它添加了9.0.0版本。 -
插件将分析添加到您的类路径中。它不会将 Firebase 的任何其他部分编译到您的实际应用中
-
请重新阅读问题。
-
我确实阅读了这个问题。请重新阅读 Firebase 文档并注意
compile 'com.google.firebase:firebase-core:11.0.1'
标签: android firebase android-support-library firebase-analytics support-v4