1. 程式人生 > >Bugly Android 快速接入使用文件

Bugly Android 快速接入使用文件

轉自: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異常傳送
後續更新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
      • armeabi­v7a
      • arm64­v8a
      • x86
      • x86_64
    • 在整合Bugly SO庫時,請注意只保留支援的架構SO庫。

Eclipse 工程
  • 將Bugly庫檔案複製到工程的libs目錄下;
  • Refresh一下工程;
  • 新增工程依賴:滑鼠右鍵點選Bugly的JAR檔案,新增到編譯路徑中。
  • native堆疊錯誤,宕機SDK,捕獲安卓崩潰,捕獲android崩潰,分析android崩潰

Android Studio工程
  • 將Bugly庫檔案複製到工程的libs目錄下;
  • 如果整合Bugly NDK,則在Module的buid.gradle檔案中新增SO庫目錄配置:

    android {
            sourceSets {
                main.jniLibs.srcDirs = ['libs']
           }
    }
  • 點選Sync,同步配置。
  • 獲取android崩潰,應用崩潰捕獲,應用異常SDK,android崩潰記錄,android crash
為了使APP Crash堆疊的可讀性更高,建議您配置符號表檔案,更準確地定位問題:
  • 純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

四、測試

現在您可以製造一個Crash,來體驗Bugly的能力了。在初始化Bugly的之後,呼叫Bugly測Java Crash介面。

CrashReport.testJavaCrash();

執行到這段程式碼時會發生一個Crash,Logcat的TAG=CrashReportInfo中輸出為:

android ANR監控,android ANR上報,android ANR資訊,android ANR錯誤,android崩潰堆疊

現在您已經可以在“崩潰”頁面看到剛才觸發的Crash issue了(一般有點延遲)。