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