阅读 782

分享一个开发中捕获崩溃的库

本文已同步发表到我的技术微信公众号,扫一扫文章底部的二维码或在微信搜索 “程序员驿站”即可关注,不定期更新优质技术文章。同时,也欢迎加入QQ技术群(群号:650306310)一起交流学习!

在开发中,我们难以避免崩溃的问题出现,尤其在提测后,测试小伙伴经常会跑过来说,我刚刚xx操作后应用闪退了,然后开发小伙伴会说麻烦你帮复现一下,结果测试呢弄了大半天也没复现出来(问题非必现!!!),然后问题定位起来异常的艰难!如果有遇到过以上尴尬场景的小伙伴,不妨尝试用一下下面要介绍的这个库,我们先来看一下效果:

crashHandlerLibTest.gif

上面的库提供了捕获奔溃信息并在单独页面进行展示,同时可以将奔溃信息分享到微信、QQ等第三方,也单独提供了将存储在本地的奔溃信息文件分享到第三方的API,下面我们简单看一下怎么将这个库集成到项目中来!

##CrashHandlerLib的使用

开源Github地址

介绍:一个基于UncaughtExceptionHandler实现的Android奔溃日志捕获依赖库,使用该库可以显性的将奔溃日志展示出来,有助于开发以及测试人员在工作中及时定位奔溃问题.同时支持将奔溃日志分享到微信、QQ等第三方。

使用手册

step 1.在根目录 build.gradle 上添加配置

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
复制代码

step 2.在当前module的build.gradle添加如下依赖

dependencies {
	implementation 'com.github.tuikes:CrashHandler:v2.1'
}
复制代码

step 3.在Application中完成初始化

@Override
public void onCreate() {
    super.onCreate();
    CrashManager.getInstance().init(this, BuildConfig.DEBUG);
}
复制代码

step 4.添加测试代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    test = findViewById(R.id.test);

   test.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d("cdx", test2.getText().toString());
        }
    });

findViewById(R.id.share_crash_file).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //将奔溃信息分享到第三方
            CrashManager.getInstance().shareCrashFile(MainActivity.this);
        }
    });
}
复制代码

编译运行之后,点击“测试”按钮,效果如下:

crashHandlerLibTest.gif

备注:我们可以在应用的任何地方添加如下代码,可以实现将本地存储的奔溃信息分享到第三方应用。

CrashManager.getInstance().shareCrashFile(MainActivity.this);
复制代码

关注我的技术公众号"程序员驿站",不更新技术文章,微信扫一扫下方二维码即可关注: