在开发中, 我们难以避免崩溃的问题出现, 尤其在提测后, 测试小伙伴经常会跑过来说, 我刚刚 xx 操作后应用闪退了, 然后开发小伙伴会说麻烦你帮复现一下, 结果测试呢弄了大半天也没复现出来 (问题非必现!!!), 然后问题定位起来异常的艰难! 如果有遇到过以上尴尬场景的小伙伴, 不妨尝试用一下下面要介绍的这个库, 我们先来看一下效果:
上面的库提供了捕获奔溃信息并在单独页面进行展示, 同时可以将奔溃信息分享到微信, QQ 等第三方, 也单独提供了将存储在本地的奔溃信息文件分享到第三方的 API, 下面我们简单看一下怎么将这个库集成到项目中来!
##CrashHandlerLib 的使用
开源 GitHub 地址 https://github.com/tuikes/CrashHandler
介绍: 一个基于 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);
- }
- });
- }
编译运行之后, 点击 "测试" 按钮, 效果如下:
备注: 我们可以在应用的任何地方添加如下代码, 可以实现将本地存储的奔溃信息分享到第三方应用.
CrashManager.getInstance().shareCrashFile(MainActivity.this);
来源: https://juejin.im/post/5c925c966fb9a070c9759c08