资讯专栏INFORMATION COLUMN

TestBird 崩溃分析(Artisan) Android SDK 使用指南

Barry_Ng / 2373人阅读

摘要:崩溃分析使用指南最新版本更新内容支持插件,可收集异常修复启动次数统计一快速集成崩溃分析,支持及以上版本。会用进行错误堆栈还原帮助快速定位问题。手动上报的异常将多带带显示在分析报表的异常栏目中。本文由崩溃分析产品经理撰写。

TestBird 崩溃分析(Artisan) Android SDK 使用指南

**

最新版本1.0.4 更新内容

**

支持H5插件,可收集H5 JS异常;

修复启动次数统计bug

一、快速集成

TestBird 崩溃分析(Artisan) Android SDK,支持Android 2.3 及以上版本。

集成具体方法如下:

Step 1. 创建App

请注册TestBird账户并登陆产品后台,点这里注册登陆;

通过“添加应用”按钮上传应用的apk文件,添加您的新应用;

添加应用后,在页面下方的“崩溃分析”面板中获取您的AppKey,初始化SDK时需要使用;

Step 2. 下载SDK

下载SDK并解压,支持收集Java异常导致的应用崩溃

如果您的应用是基于HTML的Hybird App,还可以下载集成HTML Plugin,支持收集javascript异常

如果您的工程有Native代码(C/C++)或者集成了其他第三方SO库,需要监控Native崩溃,建议下载Artisan的NDK动态库,下载NDK

Step 3. 导入SDK

Eclipse,导入拷贝TestbirdAgent-1.0.4.jar到libs目录.

Android Studio

添加libs目录,并拷贝TestBirdAgent-1.0.4.jar到libs目录

打开module setting,选择dependencies页面,选择添加file dependency,选中TestbirdAgent-1.0.4.jar文件

Step 4. 导入NDK

若您的应用中使用了C/C++开发模块,或接入了第三方的NDK,则需要捕获C/C++的底层异常,还需要引入NDK的SO库文件

Eclipse,拷贝需要支持的arch文件夹到libs目录

Android Studio,则在build.gradle中添加jniLibs.srcDirs字段

注意,集成TestBird SO库时,请只保留支持的架构SO库

Step 5. 参数配置

在AndroidManifest.xml中添加权限:

  
    
    
    
    

请避免混淆TestBird Artisan,同时为了定位问题更加方便精准,需要在还原后的堆栈中显示行号和源文件的信息。需要在项目工程的Proguard混淆文件中添加以下配置:

-keepattributes SourceFile,LineNumberTable
-keep public class com.testbird.artisan.TestBirdAgent.**{*;}

Step 6. 初始化SDK

SDK初始化需要继承Application对象,并在OnCreate函数中进行初始化。

public class MyApplication extends Application {
    @Override
    public void onCreate() {
           super.onCreate();
           // 初始化TestBird崩溃分析SDK
           CrashManager.register(this, "创建App时得到的AppKey");

           // 打开SDK Logcat日志输出,默认是关闭状态
           CrashManager.setDebug(true);
    }
}

注意:请先关闭其他第三方SDK的崩溃捕获接口,然后再初始化TestBird SDK,或将TestBird SDK初始化代码放到最后进行初始化,避免冲突。

二、SDK调试

SDK提供了崩溃测试函数。

如果启动日志中出现"I/Testbird: testbird agent init complete."语句,则表示SDK初始化成功。

**为确保SDK正常工作,请触发一次崩溃,并检查日志和Web分析报表
注意:多数时候需要重启一次应用,崩溃信息才能够上报成功**

调用CrashManager.setDebug(true),打开SDK Logcat日志输出,默认是关闭状态

触发javacrash,调用CrashManager.testJavaCrash()

触发nativecrash,调用CrashManager.testNativeCrash()

如果Logcat中出现"Writing unhandledexception to:"语句则表示SDK记录崩溃成功.

三、符号化文件上传

3.1 Java符号化文件

如果项目使用了Proguard混淆代码,将自动生成mapping.txt文件。TestBird会用mapping.txt进行错误堆栈还原,帮助快速定位问题。所以要优先上传该文件,根据开发环境不同,可以从以下路径找到mapping.txt。

Android Studio: 在 projectname/app/build/outputs/mapping/目录下

Eclipse: 在 projectname/proguard/目录下

上传文件:请通过崩溃分析应用设置中的“版本管理”直接上传mapping.txt,各个版本需要分别上传符号化文件。

3.2 Native符号化文件

Native错误堆栈还原,需要使用编译过程中生成的obj文件.压缩obj/local文件夹下的所有文件为zip文件,并上传。

四、API说明

4.1 初始化SDK

启用TestBirdAgent,注册的APP Key。还可以注册渠道ID,以便监控分析不同渠道APK包的表现,默认channelId为空。

public static void register(Context context, String appKey, String channelId)

4.2 设置User ID

调用该方法,设置当前使用App的用户账号,以便跟踪用户反馈,找出对应的崩溃或异常。

public static void setUserId(String userId)

4.3 自定义Log日志

调用一下方法,添加不同日志级别的自定义Log日志,该Log会随崩溃堆栈等信息收集到崩溃报表中。自定义Log日志缓存Buffer是32KB。

public static void addVerboseLog(String line)·
public static void addInfoLog(String line)
public static void addDebugLog(String line)
public static void addWarnLog(String line)
public static void addErrorLog(String line)

4.4 自定义键值对参数

添加键值对

调用该方法后,将向缓存中添加一条键值对参数,参数将会被收集到崩溃报表中。最多设置32条自定义键值对,每对最大1 KB。

public static void addCustomKeyPair(String key, Object value)

移除键值对

public static void removeCustomKeyPair(String key)

清除键值对

public static void clearCustomKeyPairs()

4.5 SDK日志输出控制

将SDK设置为debug模式后,TestBirdAgent会输出Logcat日志,默认为关闭状态。

public static void setDebug(Boolean isDebug)

4.6 主动上报catch的异常

将开发者代码中catch住的异常,进行主动上报。手动上报的异常将多带带显示在分析报表的“异常”栏目中。

public static void submitException(Throwable throwable)

4.7 设置传输方式为HTTPs

将SDK的通信方式改变为HTTPs,默认方式为HTTP。

public static void enableHttps()

本文由TestBird崩溃分析产品经理撰写。想了解更多开发测试相关信息,请访问 TestBird

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65063.html

相关文章

  • TestBird 崩溃分析(Artisan) Android SDK 使用指南

    摘要:崩溃分析使用指南最新版本更新内容支持插件,可收集异常修复启动次数统计一快速集成崩溃分析,支持及以上版本。会用进行错误堆栈还原帮助快速定位问题。手动上报的异常将单独显示在分析报表的异常栏目中。本文由崩溃分析产品经理撰写。 TestBird 崩溃分析(Artisan) Android SDK 使用指南 ** 最新版本1.0.4 更新内容 ** 支持H5插件,可收集H5 JS异常; 修复启...

    Raaabbit 评论0 收藏0
  • TestBird 崩溃分析(Artisan) iOS SDK 使用指南

    摘要:最新版本更新内容支持插件,收集异常支持语言一快速集成崩溃分析,支持及以上版本。上传符号化文件将符号化文件压缩成包,通过崩溃分析应用设置中的版本管理上传。手动上报的将单独显示在分析报表的异常栏目中。 最新版本1.04 更新内容 支持H5插件,收集H5 JS异常; 支持Swift语言 一、快速集成 TestBird 崩溃分析(Artisan) iOS SDK,支持iOS 6.0 及以上版...

    Null 评论0 收藏0
  • 在 ReactNative 的 App 中,集成 Bugly 你会遇到的一些坑

    摘要:对于崩溃的收集,我主要关心两个部分是需要统计到正确的崩溃栈。统计到的崩溃栈要是易于阅读的。最方便的是,你直接点击崩溃栈的代码,会自动打开对应的文件。但是正是因为会在模式下,住我们的崩溃栈,从而会导致无法搜集到对应的崩溃也就无法进行上报。 showImg(https://segmentfault.com/img/remote/1460000011982644?w=900&h=500); ...

    ermaoL 评论0 收藏0
  • 崩溃bug日志总结2

    摘要:出现错误引发崩溃日志的流程分析这个错误是应用的方法总数限制造成的。 目录介绍 1.1 java.lang.ClassNotFoundException类找不到异常 1.2 java.util.concurrent.TimeoutException连接超时崩溃 1.3 java.lang.NumberFormatException格式转化错误 1.4 java.lang.Illegal...

    sutaking 评论0 收藏0
  • 移动测试中游戏和应用的不同之处

    摘要:今天就说说移动测试中最重要的两个方向。自动化测试完全不同于手游自动化测试手机和手游的开发技术不同,这导致了两者的自动化测试技术是截然不同的。手游和的第二个玩法不同在于探索性。 随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹。在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端的软件测试也...

    Jinkey 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<