騰訊Bugly是騰訊爲廣大開發者提供的bug管理平臺,通過集成騰訊bugly,可以很方便地找到程序中所出現的各種bug,並通過bug追蹤對bug進行處理,不僅能夠向開發者展示出所出現的bug類型,而且可以顯示出出現的bug的類,甚至是哪一行,有時還能提供出具體的解決辦法,對廣大開發者來說,騰訊所提供的這個平臺非常地方便,能夠極大地提高開發者在開發中的效率,關於具體的集成方案,可以在官方文檔中進行查看,在下面也會對我在開發中的集成方式,做出一些簡單的說明.
騰訊bugly管理提供了幾種bug管理方案,分別是異常上報,應用升級,熱更新,還有grandle插件,到目前爲止,我只在項目中使用過異常上報這個工具,以後會在後續的博客中寫出其他功能模塊的具體使用方法,爲大家帶來新的技術方案,目前,就異常上報這個功能爲大家說明一下具體的使用方法:
集成方法:
1.首先,你需要導入官方提供的SDK,官方提供了兩種集成方式,不過因爲如今在Andorod開發中,基本上都是用Android Studio進行開發,所以基本上都是用了第二種方式進行開發:在你的build.grandle文件中添加以下依賴:
dependencies {
compile 'com.tencent.bugly:crashreport:latest.release'
//其中latest.release指代最新Bugly SDK版本號,也可以指定明確的版本號,例如2.2.0
}
2.同時集成SDK和NDK
在Module的build.gradle文件中添加依賴和屬性配置:
android {
defaultConfig {
ndk {
// 設置支持的SO庫架構
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
}
dependencies {
compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本號,也可以指定明確的版本號,例如2.1.9
compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本號,也可以指定明確的版本號,例如3.0
}
3.同時集成Bugly SDK和NDK的配置如下圖所示,後續更新Bugly SDK和NDK時,只需變更配置腳本中的版本號即可。
4.在清單文件中需要添加以下權限
<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" />
混淆代碼
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
5.SDK的初始化需要在應用的入口處進行(一般在Application中進行)
CrashReport.initCrashReport(getApplicationContext(), "註冊時申請的APPID", false);
傳入的數據分別爲上下文 APPID(需要在官網進行申請) 是否開啓日誌打印
6.測試
CrashReport.testJavaCrash();
如果在測試平臺找到以下數據,說明你的集成沒有問題,否則就需要查看具體的集成方案看看,你在繼承中是否漏掉了哪些集成步驟
7.測試平臺如何使用
在我的開發過程中,集成騰訊Bugly之後,檢測出了非常多的問題,讓人非常的頭疼,其中有些問題是由於代碼寫的不規範造成的,到目前爲止,檢測出來的錯誤達到了1000餘條,有些是bug,有些是一些無關緊要的問題,具體的大家可以看一下
不過,其中的一部分原因也在於我們,這個項目確實存在的問題太多了,不過這也正是反映了騰訊bugly對問題追蹤的精細化,並將統計數據以圖形化的方式顯示出來,是開發者看起來一目瞭然,在具體的bug頁面是以下面的方式展示的:
通過異常的內容,用戶可以直接找到發生問題出現的原因,開發者也可以根據發生的時間,奔潰的次數,影響的用戶人數,優先解決重大的bug,以此來及時的解決項目中所存在的問題,提高用戶的體驗,在具體的異常詳情頁,錯誤的內容提示地更加的細節化
根據異常的詳情,用戶可以很方便地找到異常出現的原因,在開發中是開發者非常好的幫手,希望這個工具以後能夠對大家有所幫助,關於其他的功能模塊,以後會在其他的博客中進行說明,敬請期待!