Bugly Android 快速接入使用文件
阿新 • • 發佈:2019-01-10
轉自:http://bugly.qq.com/androidsdk
如果您使用Gradle編譯Apk,我們強烈推薦您使用自動接入方式配置庫檔案(JCenter倉庫)。
方式1:自動匯入(推薦)
在Module的buid.gradle檔案中新增依賴和屬性配置:
android { defaultConfig { ndk { //設定支援的SO庫架構 abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' } } } dependencies { compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新版本號,也可以指定明確的版本號,例如1.2.8 }
![android日誌分析,android崩潰日誌,android crash日誌,android crash統計,app異常傳送](http://bugly.qq.com/img/white-book/af1.png?v=20160201154617)
後續更新Bugly SDK時,只需變更配置指令碼中的版本號即可。
-
- 注意:自動整合時會自動包含Bugly SO庫,建議在Module的build.gradle檔案中使用NDK的“abiFilter”配置,設定支援的SO庫架構。
-
如果在新增“abiFilter”之後Android Studio出現以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. -
則在專案根目錄的gradle.properties檔案中新增:
android.useDeprecatedNdk=true
方式2:手動匯入
如果您不採用上述自動匯入方式,也可以手動整合Bugly SDK。
下載Bugly庫檔案
-
如果您的工程有Native程式碼(C/C++)或者集成了其他第三方SO庫,建議下載Bugly的NDK動態庫。
-
Bugly NDK包含多個架構的SO庫:
- armeabi
- armeabiv7a
- arm64v8a
- x86
- x86_64
-
在整合Bugly SO庫時,請注意只保留支援的架構SO庫。
-
Bugly NDK包含多個架構的SO庫:
Eclipse 工程
- 將Bugly庫檔案複製到工程的libs目錄下;
- Refresh一下工程;
- 新增工程依賴:滑鼠右鍵點選Bugly的JAR檔案,新增到編譯路徑中。
-
Android Studio工程
- 將Bugly庫檔案複製到工程的libs目錄下;
-
如果整合Bugly NDK,則在Module的buid.gradle檔案中新增SO庫目錄配置:
android { sourceSets { main.jniLibs.srcDirs = ['libs'] } }
- 點選Sync,同步配置。
-
- 純Java程式碼的工程:只需要配置混淆後生成的Mapping檔案即可;
- 含有Native程式碼的工程:建議配置符號表工具從Debug SO中提取的Symbol符號表檔案。
Bugly支援手動和自動配置兩種方式,具體的配置方法請參考:《Bugly Android符號表配置》
二、引數配置
在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" />
請避免混淆Bugly,在Proguard混淆檔案中增加一行配置:
-keep public class com.tencent.bugly.**{*;}
三、最簡單的初始化
獲取APP ID並將以下程式碼複製到專案Application類onCreate()中,Bugly會為自動檢測環境並完成配置:
CrashReport.initCrashReport(getApplicationContext(), "註冊時申請的APPID", false);
![獲取android崩潰,應用崩潰捕獲,應用異常SDK,android崩潰記錄,android crash](http://bugly.qq.com/img/white-book/af4.png?v=20160201154617)
四、測試
現在您可以製造一個Crash,來體驗Bugly的能力了。在初始化Bugly的之後,呼叫Bugly測Java Crash介面。
CrashReport.testJavaCrash();
執行到這段程式碼時會發生一個Crash,Logcat的TAG=CrashReportInfo中輸出為:
![android ANR監控,android ANR上報,android ANR資訊,android ANR錯誤,android崩潰堆疊](http://bugly.qq.com/img/white-book/android5.jpg?v=20160201154617)
現在您已經可以在“崩潰”頁面看到剛才觸發的Crash issue了(一般有點延遲)。