Как отловить ошибки «невозможно создать экземпляр приложения»?

Недавно мы столкнулись с ошибкой на устройствах Android API 28:

E/AndroidRuntime: НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.my.company, PID: 18245 java.lang.RuntimeException: невозможно создать экземпляр приложения com.my.company.MainApplication: java.lang.ClassNotFoundException: не найден класс "com .my.company.MainApplication" по пути: ...

Мы обнаружили, что проблема возникла из-за отсутствия записи в файле AndroidManifest.xml (см. ">https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library для получения дополнительной информации).

Теперь начальство хочет, чтобы нас предупреждали, когда мы сталкиваемся с подобными проблемами (включая аварийный дамп), однако я не смог найти способ сделать это, поскольку добавление библиотек обработки исключений, таких как Crashlytics или ACRA, не будет работать, потому что приложение никогда не инициализируется.


person riqitang    schedule 29.11.2018    source источник


Ответы (1)


Похоже, что Google делает это автоматически, и результаты можно просмотреть в консоли Google Play в разделе «Ошибки ANR и сбои»:
введите здесь описание изображения введите здесь описание изображения

Затем в «НАСТРОЙКАХ УВЕДОМЛЕНИЯ» я могу настроить уведомление о сбое / ANR.

Однако также кажется, что об ошибке в OP об отсутствующей записи в файле AndroidManifest.xml не сообщается, поэтому вернемся к чертежной доске.

person riqitang    schedule 29.11.2018