Firebase崩溃在启动期间产生ANR [英] Firebase Crash produces ANR during launch

查看:688
本文介绍了Firebase崩溃在启动期间产生ANR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近我得到了反馈,而且我能够在Nexus 5上轻松地复制它,并清除应用程序数据。
简单地说,仅当向项目依赖关系添加 compile'c​​om.google.firebase:firebase-crash:9.4.0'时,我会看到下面的异常:

  09-14 00:47:54.899 3129-3129 / com.szyk.myheart E / FirebaseCrash:未能初始化崩溃报告
java.lang.NullPointerException:尝试在bol对象的空对象引用
上调用接口方法'java.util.Iterator java.util.List.iterator()'。< init>(:com.google.android.gms.DynamiteModulesC:3201 )
在com.google.firebase.crash.internal.api.FirebaseCrashApiImpl.init(:com.google.android.gms.DynamiteModulesC:67)
在bnu.onTransact(:com.google.android .gms.DynamiteModulesC:60)
at a ndroid.os.Binder.transact(Binder.java:387)
,位于com.google.firebase.crash.internal.zzd $ zza $ zza.zza(未知来源)
,位于com.google.firebase .crash.FirebaseCrash。< init>(Unknown Source)
at com.google.firebase.crash.FirebaseCrash.getInstance(Unknown Source)
at java.lang.reflect.Method.invoke(Native Method )com.google.firebase.FirebaseApp.zza(未知来源)为
,com.google.firebase.FirebaseApp.initializeApp(未知来源)为
,com.google.firebase.FirebaseApp为
。 initializeApp(未知源)
在com.google.firebase.FirebaseApp.zzek(未知源代码)
在com.google.firebase.provider.FirebaseInitProvider.onCreate(未知源代码)
在android.content.ContentProvider.attachInfo(ContentProvider.java :1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app .ActivityThread.installProvider(ActivityThread.java:5153)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
在android.app.ActivityThread.ActionThread.handleBindApplication(ActivityThread.java:4688)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread $ H.handleMessage(ActivityThread。 java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app .ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit。 Java的:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)



<这个问题更加陌生,因为一旦它产生ANR并崩溃,那么它就会在下一次启动。



我的依赖关系:

  compile'c​​om.google.firebase:firebase-core:9.4.0'
// not working compile'c​​om.google.firebase:firebase- crash:9.4.0'
compile'c​​om.google.firebase:firebase-invites:9.4.0'
compile'c​​om.google.firebase:firebase-ads:9.4.0'

compile'c​​om.google.android.gms:play-services-auth:9.4.0'
compile'c​​om.google.android.gms:play-services-plus:9.4.0'
compile'c​​om.google.android.gms:play-services-drive:9.4.0'


解决方案

这个问题已经在 Google Play服务9.6.80 (目前正在推出)中引入,并会影响所有使用 Firebase Crash 报告(尽管您的应用已捆绑了该版本)。
$ b


  • 临时解决方案:通过从build.gradle中删除以下条目来禁用Firebase Crash
    $ b compile'c​​om.google.firebase:firebase-crash:9长期解决方案:等待Google发布固定版本的GPS,然后再启用Firebase Crash

    >

    Google正在推出固定版本的Google Play服务( 9.6.83 ),它解决了Firebase崩溃问题。


    Recently I got feedback and also I was able to reproduce it easily on my Nexus 5 with cleared app data. Simply, when adding compile 'com.google.firebase:firebase-crash:9.4.0' only to project dependencies I get following Exception:

    09-14 00:47:54.899 3129-3129/com.szyk.myheart E/FirebaseCrash: Failed to initialize crash reporting
                                                               java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
                                                                   at bol.<init>(:com.google.android.gms.DynamiteModulesC:3201)
                                                                   at com.google.firebase.crash.internal.api.FirebaseCrashApiImpl.init(:com.google.android.gms.DynamiteModulesC:67)
                                                                   at bnu.onTransact(:com.google.android.gms.DynamiteModulesC:60)
                                                                   at android.os.Binder.transact(Binder.java:387)
                                                                   at com.google.firebase.crash.internal.zzd$zza$zza.zza(Unknown Source)
                                                                   at com.google.firebase.crash.FirebaseCrash.<init>(Unknown Source)
                                                                   at com.google.firebase.crash.FirebaseCrash.getInstance(Unknown Source)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   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.zzek(Unknown Source)
                                                                   at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                                   at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                   at android.app.ActivityThread.installProvider(ActivityThread.java:5153)
                                                                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
                                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
                                                                   at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    

    The issue is more stranger, because once it will produce ANR and crash, then it works in next launches.

    My dependencies:

    compile 'com.google.firebase:firebase-core:9.4.0'
    //not working  compile 'com.google.firebase:firebase-crash:9.4.0'
    compile 'com.google.firebase:firebase-invites:9.4.0'
    compile 'com.google.firebase:firebase-ads:9.4.0'
    
    compile 'com.google.android.gms:play-services-auth:9.4.0'
    compile 'com.google.android.gms:play-services-plus:9.4.0'
    compile 'com.google.android.gms:play-services-drive:9.4.0'
    

    解决方案

    The issue has been introduced with the Google Play Services 9.6.80 (currently in rollout) and affects all the apps using the Firebase Crash reporting (despite of the version bundled in your app).

    • Temporary solution: disable Firebase Crash by removing the following entry from the build.gradle:

      compile 'com.google.firebase:firebase-crash:9.x.x'

    • Long term solution: wait that Google releases a fixed version of the GPS before enabling Firebase Crash again.


    UPDATE 09/16:

    Google is rolling out a fixed version of Google Play Services (9.6.83) which addresses the issue with Firebase Crash.

    这篇关于Firebase崩溃在启动期间产生ANR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆