Android应用程序不会崩溃,但不会对未捕获的exception做出响应

我最近注意到,当发生未捕获的exception时,我的应用程序不会崩溃,但它没有响应。 我使用谷歌分析来获得崩溃的洞察力,我怀疑这可能是导致问题的原因。

当我在onCreate()抛出NullPointerException (紧跟在super.onCreate() )时,应用程序显示一个白色屏幕,但它不会崩溃。

Logcat说:

 06-30 14:00:59.386 26259-26259/? I/GAv4﹕ Google Analytics 7.5.71 is starting up. To enable debug logging on a device run: adb shell setprop log.tag.GAv4 DEBUG adb logcat -s GAv4 06-30 14:00:59.398 26259-26259/? W/GAv4﹕ AnalyticsReceiver is not registered or is disabled. Register the receiver for reliable dispatching on non-Google Play devices. See http://goo.gl/8Rd3yj for instructions. 06-30 14:00:59.409 26259-26259/? W/GAv4﹕ CampaignTrackingReceiver is not registered, not exported or is disabled. Installation campaign tracking is not possible. See http://goo.gl/8Rd3yj for instructions. 06-30 14:00:59.414 26259-26295/? W/GAv4﹕ AnalyticsService not registered in the app manifest. Hits might not be delivered reliably. See http://goo.gl/8Rd3yj for instructions. 06-30 14:00:59.467 26259-26259/? D/AndroidRuntime﹕ Shutting down VM 

我希望看到未被捕获的exception,因为如果我没有看到堆栈跟踪和问题的原因,那么修复它们真的很难。

我该怎么做才能恢复以前的行为?

编辑:删除分析错误报告(不调用tracker.enableExceptionReporting(true); )后,我再次崩溃。 我使用Play Services 7.5.0中的Analytics。

谷歌分析是罪魁祸首。 尝试在使用发布密钥对应用程序进行签名时进行开发和启用时禁用它(或禁用未捕获的exception的自动报告)。

默认情况下,“控制台”中会显示“ Exceptions

如果你不想检查控制台(我觉得这个目的更方便,因为Logcat有时候很麻烦),那么只需在Logcat显示LogException

 try { } catch (Exception e) { Log.e("YOUR_APP_TAG", "Exception occured: ", e); }