【发布时间】:2018-05-22 04:07:39
【问题描述】:
环境
- 安卓设备:
MI 5\ MI 6 - 安卓操作系统版本:
8.0.0 - Google Play 服务版本:无 google 服务
- Firebase/Play 服务 SDK 版本:
com.google.firebase:firebase-plugins:1.1.0、com.google.firebase:firebase-perf:15.1.0 - TargetSdkVersion : 26
问题
java.lang.NullPointerException
Attempt to invoke virtual method 'void com.google.android.gms.internal.firebase-perf.zzq.zzb(boolean)' on a null object reference
com.google.android.gms.internal.firebase-perf.zzg.zzc(Unknown Source:2)
com.google.android.gms.internal.firebase-perf.zzk.run(Unknown Source:4)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
java.lang.Thread.run(Thread.java:764)
LogCat
FirebaseApp: Firebase API initialization failure.
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.google.firebase.FirebaseApp.zza(Unknown Source:72)
at com.google.firebase.FirebaseApp.zzc(Unknown Source:49)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:119)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:2)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:28)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source:4)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1927)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1902)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:23)
at android.app.ActivityThread.installProvider(ActivityThread.java:6425)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5939)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5851)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1689)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6683)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
Caused by: java.lang.SecurityException: Failed to find provider com.google.android.gms.phenotype for user 0; expected to find a valid ContentProvider for this authority
at android.os.Parcel.readException(Parcel.java:1942)
at android.os.Parcel.readException(Parcel.java:1888)
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:768)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1940)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1929)
at com.google.android.gms.internal.measurement.zzwp.zza(Unknown Source:32)
at com.google.android.gms.internal.measurement.zzws.zzry(Unknown Source:33)
at com.google.android.gms.internal.measurement.zzws.get(Unknown Source:14)
at com.google.android.gms.internal.measurement.zzex.get(Unknown Source:2)
at com.google.android.gms.internal.measurement.zzfg.zziu(Unknown Source:7)
at com.google.android.gms.internal.measurement.zzfg.isLoggable(Unknown Source:0)
at com.google.android.gms.internal.measurement.zzfg.zza(Unknown Source:3)
at com.google.android.gms.internal.measurement.zzfi.log(Unknown Source:12)
at com.google.android.gms.internal.measurement.zzgl.<init>(Unknown Source:226)
at com.google.android.gms.internal.measurement.zzgl.zzg(Unknown Source:28)
at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source:0)
at java.lang.reflect.Method.invoke(Native Method)
at com.google.firebase.FirebaseApp.zza(Unknown Source:72)
at com.google.firebase.FirebaseApp.zzc(Unknown Source:49)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:119)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:2)
at com.google.firebase.FirebaseApp.initializeApp(Unknown Source:28)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source:4)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1927)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1902)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source:23)
at android.app.ActivityThread.installProvider(ActivityThread.java:6425)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5939)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5851)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1689)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6683)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
java.lang.SecurityException: Failed to find provider com.google.android.gsf.gservices for user 0; expected to find a valid ContentProvider for this authority
at android.os.Parcel.readException(Parcel.java:1942)
at android.os.Parcel.readException(Parcel.java:1888)
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:768)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1940)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1929)
at com.google.android.gms.internal.firebase-perf.zza.zza(Unknown Source:38)
at com.google.android.gms.internal.firebase-perf.zzq.<init>(Unknown Source:145)
at com.google.android.gms.internal.firebase-perf.zzg.zzp(Unknown Source:127)
at com.google.android.gms.internal.firebase-perf.zzg.zzb(Unknown Source:0)
at com.google.android.gms.internal.firebase-perf.zzh.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.internal.firebase-perf.zzq.zzb(boolean)' on a null object reference
at com.google.android.gms.internal.firebase-perf.zzg.zzc(Unknown Source:2)
at com.google.android.gms.internal.firebase-perf.zzk.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
似乎是SecurityException导致Firebase API initialization failure,然后一些NullPointerExceptions来了。
我尝试降级Performance Tools,没用。
然后我将TargetSdkVersion 从 26 设置为 23,问题就解决了。
【问题讨论】:
-
在清单中授予 Internet 权限?
-
如果您使用的是 Android Studio 3.X,the recommended version 的
com.google.firebase:firebase-plugins是 1.1.5。还有firebase-perf:15.2.0。 -
我收到同样的错误
Caused by: java.lang.SecurityException: Failed to find provider com.google.android.gms.phenotype for user 0; expected to find a valid ContentProvider for this authority firebase这个错误只在我使用Run App时发生,如果我正确签署了apk 并安装它,错误就会消失。 -
@ABK 权限已经存在
-
@Michal_196 我更新了firebase sdk,生成一个签名的发布请求,但再次发生崩溃:(