TestBird 崩溃分析(Artisan) Android SDK 使用指南javascript
**html
**java
支持H5插件,可收集H5 JS异常;android
修复启动次数统计buggit
TestBird 崩溃分析(Artisan) Android SDK,支持Android 2.3 及以上版本。github
集成具体方法以下:缓存
Step 1. 建立App架构
请注册TestBird帐户并登录产品后台,点这里注册登录;app
经过“添加应用”按钮上传应用的apk文件,添加您的新应用;ide
添加应用后,在页面下方的“崩溃分析”面板中获取您的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中添加权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <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"/>
请避免混淆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提供了崩溃测试函数。
若是启动日志中出现"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文件,并上传。
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