前序:一般一個(gè)項(xiàng)目的開發(fā),從需求調(diào)研到開發(fā)完成正式上線必須要經(jīng)歷修改bug,修改bug,修改bug 的死循環(huán)中,而往往一些項(xiàng)目在上線之后由于測試人員沒有測試出一些偶發(fā)概率的bug,這就導(dǎo)致用戶在下載使用App的過程中出現(xiàn)用戶體驗(yàn)不好,甚至程序閃退的問題。在遇到這種情況下,如果我們的工程師能夠及時(shí)的發(fā)現(xiàn)問題并且及時(shí)的修改然后提交審核發(fā)布新版本,而即使是這樣,也需要耗費(fèi)大量的時(shí)間才能將問題修復(fù),等待用戶下載新版本才能正常使用,當(dāng)然,這也是無奈之舉。下面我講主要介紹另外一種解決這種耗時(shí),不能及時(shí)修復(fù)項(xiàng)目bug的解決方法,那就是騰訊提出的熱更新機(jī)制。所謂熱更新就是開發(fā)人員可以及時(shí)的捕獲程序的錯(cuò)誤代碼,并且及時(shí)的修改錯(cuò)誤代碼,從發(fā)現(xiàn)問題,到解決問題到用戶無感知的就可以正常使用程序最快只需要幾分鐘的時(shí)間。
下面就從0開始介紹開發(fā)人員如何接入騰訊bugly異常捕獲以及熱更新技術(shù)。
一:前期準(zhǔn)備
開發(fā)者需要到騰訊bugly官方網(wǎng)站注冊自己的賬號,騰訊bugly。賬號注冊成功之后根據(jù)自己的開發(fā)環(huán)境新建產(chǎn)品如下圖:
點(diǎn)擊新建產(chǎn)品,新建產(chǎn)品
產(chǎn)品新建成功以后我們可以查看我們新建產(chǎn)品的Appid,這個(gè)后期要使用
二:使用步驟:
1:關(guān)于異常捕獲機(jī)制的使用,
如果我們在項(xiàng)目中只是想接入異常捕獲,那么我們只需要集成異常捕獲的sdk即可,這個(gè)可以具體的參考官方文檔給出的介入流程,已經(jīng)很詳細(xì)了 ,異常捕獲介入。
Sdk接入成功之后我們只需要替換我們申請的Appid到我們自己的項(xiàng)目中既可以。
2:接下來我們主要介紹一下關(guān)于熱更新在項(xiàng)目中如何接入以及在接入的過程中我們因該注意的點(diǎn)。
buildscript{repositories{? ? ? ? jcenter()? ? }dependencies{//
tinkersupport插件,
其中l(wèi)astest.release指拉取最新版本,也可以指定明確版本號,例如1.0.4classpath"com.tencent.bugly:tinker-support:1.0.8"}}
第二步:集成SDK
gradle配置
在app module的“build.gradle”文件中添加(示例配置):
android {? ? ? ? defaultConfig {? ? ? ? ? ndk {//設(shè)置支持的SO庫架構(gòu)abiFilters'armeabi'//, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'}? ? ? ? }? ? ? }dependencies{compile"com.android.support:multidex:1.0.1"http:// 多dex配置//注釋掉原有bugly的倉庫//compile 'com.tencent.bugly:crashreport:latest.release'//其中l(wèi)atest.release指代最新版本號,也可以指定明確的版本號,例如2.3.2compile'com.tencent.bugly:crashreport_upgrade:1.3.1'compile'com.tencent.bugly:nativecrashreport:latest.release'//其中l(wèi)atest.release指代最新版本號,也可以指定明確的版本號,例如2.2.0}
第三步:在app module的“build.gradle”文件中添加:
// 依賴插件腳本applyfrom:'tinker-support.gradle'