如何从 1 个地方在生产版本中记录崩溃报告
Posted
技术标签:
【中文标题】如何从 1 个地方在生产版本中记录崩溃报告【英文标题】:How to log crash reports in Production build from 1 place 【发布时间】:2017-03-27 08:07:09 【问题描述】:我发现了这个answer,它对我理解场景有很大帮助。但是,如果我的应用程序中有 100 个活动,并且其中任何一个活动都可能发生崩溃,我是否有可能从一个地方记录所有崩溃,而不是在每个活动中编写此代码。
每当应用程序发生崩溃时,我想将stacktrace
保存在某个文件中,并且我想全局执行此操作,而不是进入每个活动。
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
// Sets the default uncaught exception handler. This handler is invoked
// in case any Thread dies due to an unhandled exception.
Thread.setDefaultUncaughtExceptionHandler(new CustomizedExceptionHandler(
"/mnt/sdcard/"))
;
【问题讨论】:
【参考方案1】:您可以在 Application 类中执行此操作。
public class MyDemoApplication extends Application
@Override
public void onCreate()
super.onCreate();
if (!BuildConfig.DEBUG)
Thread.setDefaultUncaughtExceptionHandler( <YOUR_CUSTOM_EXCEPTION_HANDLER> );
【讨论】:
以上是关于如何从 1 个地方在生产版本中记录崩溃报告的主要内容,如果未能解决你的问题,请参考以下文章