美文网首页android...
腾讯Bugly接入

腾讯Bugly接入

作者: 南悦客栈 | 来源:发表于2017-10-12 17:26 被阅读343次

    MTA支持Java和Native异常捕获,其中Java Crash模块默认集成在MTA主体jar包中,Native Crash(即c/c++或so的异常捕获)需要额外添加so文件,并调用API启用,若您的工程涉及到Native编码,建议打开上Native Crash模块,否则,不需要额外添加这部分的文件。

    Java Crash:使用新的mta 3.x.x.jar替换老版。

    Native Crash:libMtaNativeCrash_v2.so,删除老的ibMtaNativeCrash.so,需要注意不同ABI的文件存放,具体见下。

    MTA Native Crash支持当前Android系统所支持的所有架构:

    armeabi

    armeabi-v7a

    arm64–v8a

    x86

    x86_64

    mips

    mips64

    在集成过程中,一定要注意不同架构SO库文件的存放,否则可能会引起问题,总的原则是:只保留工程所支持的架构SO,不支持的SO千万不要额外导入。下面举例说明。

    集成前:假设libMyCustom.so为实际工程的SO文件,所支持架构列表只有armeabi、armeabi-v7a、arm64-v8a三种。

    集成后:根据只保留工程所支持SO架构的原则,那么只需要把Mta Native Crash对应的架构下的so文件复制到工程对应的目录中即可,即MTA armeabi的libMtaNativeCrash_v2.so复制到工程对应的armeabi目录下,注意一定要匹配,保持支持的架构目录的so文件一致,而不支持的架构不需要添加,一个集成带native crash模块的MTA后的工程示例见下图。

    1.2. 工程配置

    主要的配置参考MTA的接入配置功能,下面列举AndroidMenifest.xml文件的配置部分。

    ……工程application指标的的其它配置

    android:name="TA_APPKEY"

    android:value="A91LM44JGFLV" />

    android:name="InstallChannel"

    android:value="应用宝" />

    android:name="com.tencent.mid.api.MidProvider"

    android:authorities="您的APP包名.TENCENT.MID.V3"

    android:exported="true" >

    1.3. application配置

    StatService.setContext(app);

    // 这个是开启Mta的统计功能

    StatService.registerActivityLifecycleCallbacks(app);

    StatCrashReporter crashReporter = StatCrashReporter.getStatCrashReporter(app);

    // 开启异常时的实时上报

    crashReporter.setEnableInstantReporting(true);

    // 开启java异常捕获

    crashReporter.setJavaCrashHandlerStatus(true);

    // 开启Native c/c++,即so的异常捕获

    // 请根据需要添加,记得so文件

    crashReporter.setJniNativeCrashStatus(true);

    // crash时的回调,业务可根据需要自选决定是否添加

    crashReporter.addCrashCallback(new StatCrashCallback() {

    @Override

    public void onJniNativeCrash(String tombstoneString) {

    // native dump内容,包含异常信号、进程、线程、寄存器、堆栈等信息

    // 具体请参考:Android原生的tombstone文件格式

    log("MTA StatCrashCallback onJniNativeCrash:\n" + tombstoneString);

    }

    @Override

    public void onJavaCrash(Thread thread, Throwable ex) {

    //thread:crash线程信息

    // ex:crash堆栈

    log("MTA StatCrashCallback onJavaCrash:\n", ex);

    }

    });

    相关文章

      网友评论

        本文标题:腾讯Bugly接入

        本文链接:https://www.haomeiwen.com/subject/fnsoyxtx.html