crashSDK工具说明文档
Android SDK文档
1. SDK简介
Android crash收集SDK基于google-breakpad库,该库能够捕获C++引起的crash异常信息。在App崩溃发生时,系统生成相应dump文件,同时保存内存,网络,手机,CPU等相应的现场信息,并在App重新启动时将相应的信息传给server。server根据对应的动态库xxx.so对dump文件进行解析,得到崩溃发生时寄存器信息。
2. Client端SDK接入方式
SDK包含四个库:libcrashSDK.so,crashSDK.jar,apache-mime4j-0.6.jar,httpmime-4.0.2.jar
打包接入方式:
(1)将libcrashSDK.so放在 <项目根目录>/libs/armeabi 文件夹,若文件夹不存在,则先创建该文件夹
(2)将crashSDK.jar,apache-mime4j-0.6.jar,httpmime-4.0.2.jar放在 <项目根目录>/libs 文件夹
(3)在AndroidManifest.xml中添加如下权限(若已有,则不需要添加)
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.READ_LOGS" />
(4)在项目启动Activity中添加头文件
import com.netease.crashSDK.CrashMain;
(5)在项目启动代码中配置CrashSDK并启动,需要注意的是,配置信息根据各个项目的实际情况配置,说明如下:
setUploadURL: 上传dump文件的地址
setToken: server分配的token
setTId:项目代号
instance = CrashMain.getInstance(this.getApplicationContext());
instance.setUploadURL("http://10.240.145.127:8888/interface/upload_crash_dump.html");
instance.setToken("590ad0e12c78f18f5274a50f65d9c491");
instance.setTId("tId");
instance.startManager()
3. Server端解析方式
在网页端,将最终打包生成的项目动态库xxx.so(生成so文件时的编译选项需要包含调试信息和版本信息)上传至server。client端上传dump文件后,server将启动异步任务对dump文件进行解析,解析结果保存在相应文件夹下。
iOS SDK文档
1. SDK简介
iOS crash收集SDK基于PLCrashReporter库,该库能够捕获iOS崩溃的异常信息。在App崩溃发生时,系统生成相应崩溃日志,同时保存报名,越狱等手机相关的信息,并在App重新启动时将相应的信息传给server。server根据对应的dSYM文件对崩溃日志进行解析,得到崩溃发生时寄存器信息。
2. Client端SDK接入方式
SDK包含framework库:BWCrashSDK.framework
打包接入方式:
(1)将BWCrashSDK.framework添加到系统
(2)在项目启动文件中添加头文件
#import <BWCrashSDK/BWQuincyManager.h>
(5)在项目启动代码中配置CrashSDK并启动,server url根据实际情况配置
[[BWQuincyManager sharedQuincyManager] setSubmissionURL:@"http://10.240.145.127:8888/interface/upload_crash_dump.html"];
[[BWQuincyManager sharedQuincyManager] setDelegate:self];
[[BWQuincyManager sharedQuincyManager] setDebugLogEnabled:YES];
[[BWQuincyManager sharedQuincyManager] startManager];
3. Server端解析方式
在网页端,将最终打包生成的项目调试信息xxx.dSYM(需要包含版本信息)上传至server。client端上传崩溃日志后,server将启动异步任务对崩溃日志进行解析,解析结果保存在数据库中。