阅读 230

Android 关于全局捕获异常那些事(bugly)

开篇还是这句话   百度上有很多滴 一查就查到了
我只是开发的时候遇见了 就写下来  省着忘记了
当然独乐乐不如众乐乐

以下是关于bugly的自述
专业、全面的异常监控和解决方案,可以让您及时发现应用的异常,并通过丰富的现场信息帮您快速定位和解决问题。

白话文来讲 就是帮你更加方便的 把你的bug集中起来 方便查看和解决   我觉得吧  谁的项目能没有点bug呢 (狗头保命)

其实在bugly上面看到的有些问题 并不影响运行

废话说完 该步入正题了

1、当然是添加依赖

//其中latest.release指代最新版本号,也可以指定明确的版本号implementation 'com.tencent.bugly:crashreport:latest.release'
2、创建一个全局捕获异常类

package com.cheng.update;import android.os.Build;import android.os.Process;import android.util.Log;/**
 * @Title:
 * @Description:
 * @author: Cheng
 * @date: 
 */public class ErrorController implements Thread.UncaughtExceptionHandler{
    private static final String TAG = "ErrorController ";
    private static ErrorController inctance;

    public ErrorController () {}

    public static ErrorController getInctance() {
        if (inctance == null) {
            inctance=new ErrorController ();
        }

        Thread.setDefaultUncaughtExceptionHandler(inctance);
        return inctance;
    }

    @Override
    public void uncaughtException(Thread t, Throwable e) {
        Log.d(TAG, "errorcontroller : "+e.getMessage());

          String tags = Build.TAGS; //发行版本
          String board = Build.BOARD;//主板信息
          String model = Build.MODEL;//手机型号
          String brand = Build.BRAND; //手机名称
          String sdk = Build.VERSION.SDK; //SDK
          String cpuAbi = Build.CPU_ABI;//CPU位数
          String fingerprint = Build.FINGERPRINT;//手机系统信息
          String release = Build.VERSION.RELEASE; //安卓版本
          String id = Build.ID;//版本号

        //没有这行代码会ANR  退出
        Process.killProcess(Process.myPid());
    }}
3、自定义Application 填写产品App ID

package com.cheng.update;import android.app.Application;import com.tencent.bugly.crashreport.CrashReport;public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        MyUncaugExceptionHandler.getInctance();
        //测试时设置为false 上线时设置为true
        CrashReport.initCrashReport(getApplicationContext(), "你的App ID", true);
    }}
4、别忘记添加权限

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_LOGS"/>

别忘记在清单文件中配置你自定义的 Application 哦

android:name=".MyApp"

这样跑一下你的项目 看看吧
希望这篇文章能帮助到你
具体请参考官方地址: https://bugly.qq.com/



作者:珹_
链接:https://www.jianshu.com/p/3e99123eb685
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐