Firebase Crash производит ANR во время запуска

Недавно я получил отзыв, а также смог легко воспроизвести его на своем Nexus 5 с очищенными данными приложения. Проще говоря, добавляя compile 'com.google.firebase:firebase-crash:9.4.0' только к зависимостям проекта, я получаю следующее исключение:

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)

Проблема более странная, потому что, как только она выдаст ANR и вылетит, она будет работать при следующих запусках.

Мои зависимости:

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'

4 ответа

Решение

Эта проблема была введена в Службах Google Play 9.6.80 (в настоящее время находится в стадии разработки) и касается всех приложений, использующих отчеты Firebase Crash (несмотря на версию, включенную в ваше приложение).

  • Временное решение: отключите Firebase Crash, удалив следующую запись из build.gradle:

    скомпилируйте com.google.firebase:firebase-crash:9.x.x'

  • Долгосрочное решение: подождите, пока Google выпустит исправленную версию GPS, прежде чем снова включить Firebase Crash.


ОБНОВЛЕНИЕ 09/16:

Google выпускает фиксированную версию Сервисов Google Play ( 9.6.83), которая решает проблему с Firebase Crash.

Отключите Firebase Analytics Crash Reporting, используйте приведенный ниже код в файле app.gradle. Надеюсь, это поможет вам

конфигурации {

  all*.exclude group: 'com.google.firebase', module: 'firebase-crash'

}

Только для записи:

Мы решили DynamiteModulesC NPE а также Uncaught exception in Firebase runloop (3.0.0) удалив следующую строку

//remove this "feature" if you should use it
FirebaseApp.setAutomaticResourceManagmentEnabled(true)

Описание API:

Если установлено значение true, это означает, что Firebase должен автоматически закрывать соединения с базой данных, когда приложение находится в фоновом режиме. По умолчанию отключено.

(Возможно, мы пропустили некоторые конфигурации для правильного использования этой функции, но приложение работает, как и ожидалось, после того, как ResourceManagment не включен)

9.6.83 по-прежнему приводит к другому сбою anr. Наше приложение при нажатии на Play Store Beta и при установке на устройства аварийно завершает работу при первом запуске. Впоследствии это работает, но мы не можем подталкивать к продвижению без понимания проблемы.

Вот отчет о сбое ANR

java.lang.RuntimeException: невозможно создать экземпляр получателя com.google.android.gms.analytics.CampaignTrackingReceiver: java.lang.ClassNotFoundException: не найден класс "com.google.android.gms.analytics.CampaignTrackingReceiver"

Изменить: Нам пришлось добавить компиляцию 'com.google.android.gms:play-services-analytics:9.4.0' явно, и запуск anr впервые был решен. Но я не уверен, что это было исправлением, поскольку мы вообще не используем библиотеку. Может быть, Playstore исправил их ошибку во всех apks?

Другие вопросы по тегам