在一个空对象引用上调用 com.google.android.gms.internal.firebase-perf.zzq.zzb(boolean)。

7

环境

  • Android设备: 小米5\ 小米6
  • Android操作系统版本: 8.0.0
  • Google Play Services版本: 没有Google服务
  • Firebase/Play Services SDK版本: com.google.firebase:firebase-plugins:1.1.0com.google.firebase:firebase-perf:15.1.0
  • 目标Sdk版本: 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)

似乎是安全异常导致了Firebase API初始化失败,然后出现了一些空指针异常。我尝试降级性能工具,但没有用。然后我将TargetSdkVersion从26降至23,问题消失了。

在清单文件中授予了Internet权限吗? - Abhay Koradiya
如果您使用的是Android Studio 3.X版本,则建议版本的com.google.firebase:firebase-plugins为1.1.5。以及firebase-perf:15.2.0。 - Bob Snyder
我遇到了相同的错误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并安装它,则错误将消失。 - Mustansir
红米Note 5同样适用。 - Mark
https://issuetracker.google.com/issues/80555710 - Mark
显示剩余4条评论
2个回答

0

文档指出Firebase性能监测依赖于Google Play服务:

在开始之前,您需要在环境中设置一些东西:

  • 运行Android 4.0(冰淇淋三明治)或更高版本的设备,并且安装Google Play服务15.2.0或更高版本
  • 来自Google存储库的Google Play服务SDK,在Android SDK管理器中可用
  • 最新版本的Android Studio,即2.2或更高版本

0
将以下代码添加到应用级别的底部:apply plugin: 'com.google.gms.google-services',并使用this最新的Firebase依赖项。如果您正在使用Android Studio 3.x版本,请使用'com.google.firebase:firebase-plugins:1.1.5'

我已经检查了我的应用程序的 build.gradle 文件,apply plugin: 'com.google.gms.google-services' 已经存在。 - da que
使用此更新依赖项 com.google.firebase:firebase-perf:15.2.0,我已经更新了我的答案,请告诉我是否有帮助。 - Rohit Maurya
问题仍然存在,我已经更新到 com.google.firebase:firebase-perf:15.2.0com.google.firebase:firebase-plugins:1.1.5 - da que
你能提供你的应用级别 Gradle 信息吗? - Rohit Maurya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接