未能在應用程序啓動時,下面的正在打印到控制檯:火力地堡API初始化啓動時
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'
火力地堡的設置做如下說明:
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 (*)
也許是問題的一部分,也許不是,但我覺得很奇怪,插件的最新版本包括火力地堡的較舊版本(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'版本。 – Orbit
該插件將分析添加到您的類路徑中。它不會將Firebase的任何其他部分編譯到您的實際應用程序中 –