如何捕获“无法实例化应用程序”错误?
How to catch ''unable to instantiate application" errors?
我们最近在 Android API 28 台设备上遇到错误:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.my.company, PID:
18245 java.lang.RuntimeException: Unable to instantiate application
com.my.company.MainApplication: java.lang.ClassNotFoundException:
Didn't find class "com.my.company.MainApplication" on path: ...
我们发现问题是由于 AndroidManifest.xml 文件中缺少条目所致(有关详细信息,请参阅 https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library)。
现在上级希望我们在遇到此类问题(包括故障转储)时得到提醒,但是我一直找不到办法做到这一点,因为添加了 Crashlytics 或 ACRA 等异常处理库将无法运行,因为该应用从未初始化。
似乎 Google 正在自动执行此操作,并且可以在 Google Play 控制台的 "ANRs & crashes" 部分查看结果:
然后在 "NOTIFICATION SETTINGS" 中,我可以将其设置为在 crash/ANR 发生时通知。
然而,OP 中关于 AndroidManifest.xml 文件中缺少条目的错误似乎也没有被报告,所以回到那个问题的绘图板上。
我们最近在 Android API 28 台设备上遇到错误:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.my.company, PID: 18245 java.lang.RuntimeException: Unable to instantiate application com.my.company.MainApplication: java.lang.ClassNotFoundException: Didn't find class "com.my.company.MainApplication" on path: ...
我们发现问题是由于 AndroidManifest.xml 文件中缺少条目所致(有关详细信息,请参阅 https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library)。
现在上级希望我们在遇到此类问题(包括故障转储)时得到提醒,但是我一直找不到办法做到这一点,因为添加了 Crashlytics 或 ACRA 等异常处理库将无法运行,因为该应用从未初始化。
似乎 Google 正在自动执行此操作,并且可以在 Google Play 控制台的 "ANRs & crashes" 部分查看结果:
然后在 "NOTIFICATION SETTINGS" 中,我可以将其设置为在 crash/ANR 发生时通知。
然而,OP 中关于 AndroidManifest.xml 文件中缺少条目的错误似乎也没有被报告,所以回到那个问题的绘图板上。