騰訊熱修復(fù)Tinker初探

熱補(bǔ)丁修復(fù)框架,極大的方便了開(kāi)發(fā)者熱修復(fù)自己線上App的出現(xiàn)的bug和漏洞。之前已經(jīng)嘗試了阿里熱修復(fù)SopHix和美團(tuán)熱修復(fù)Robust,現(xiàn)在嘗試集成騰訊的熱修復(fù)Tinker。

下載Tinker

Tinker官方地址:?https://github.com/Tencent/tinker

解壓到本地

本次所使用的為tinker-sample-android

將tinker-sample-android導(dǎo)入androiid studio

導(dǎo)入后,build項(xiàng)目時(shí)會(huì)出現(xiàn)一系列問(wèn)題,下文將講述如何解決這些問(wèn)題

Tinker集成時(shí)問(wèn)題

Tinker導(dǎo)入項(xiàng)目后,不能直接運(yùn)行,需要稍作修改,下面的本人集成過(guò)程中出現(xiàn)的問(wèn)題,如果你遇到的問(wèn)題與我不同,歡迎留言。

tinkerId is not set!!!

問(wèn)題

解決

在app的build.gradle中搜索tinkerId,并將tinkerId=getTinkerIdValue()修改為tinkerId=”TinkerSample”(內(nèi)容可以是其他)

Tinker does not support instant run mode

問(wèn)題

解決

依次打開(kāi)File->setting->Build,Execution,Deployment->Instant Run,將Enable前的復(fù)選框去掉,并同步一下

集成步驟

生成一個(gè)未修改之前的apk文件

點(diǎn)擊右側(cè)的Gradle,在展開(kāi)的Gradle projects中選擇app,并依次展開(kāi)Tasks->build->assembleDebug

在assembleDebug上右鍵運(yùn)行

在app/build/barApk下可以看到生成的apk文件

將此apk運(yùn)行到手機(jī)上

修改代碼或布局

在主項(xiàng)目中新增一個(gè)按鈕

生成patch

在app下的build.gradle中配置如下

gradle里面執(zhí)行下tinkerpatchdebug

點(diǎn)擊Gradle,依次展開(kāi)tiner-sample-android->Task->tinker,選擇tinkerPatchDebug

右鍵運(yùn)行

在app/build/outputs/tinkerPatch下可以看到patch補(bǔ)丁

將patch補(bǔ)丁包放到手機(jī)根目錄下

修復(fù)

點(diǎn)擊load patch

點(diǎn)擊Kill self并重啟

新下的按鈕是新增的,修復(fù)已生效

參考:

tinker-sample-android

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容