布丁修復(fù)需要一個(gè)基準(zhǔn)包來(lái)生成我們的布丁,所謂基準(zhǔn)包就是我們?cè)诖蛘桨臅r(shí)候在
Project>>>>app>>>>build>>>>bakApk下生成的apk包
此包作為日后熱修復(fù)的基準(zhǔn)包需要自行備份,因?yàn)?i>Clean Project會(huì)清除bakApk目錄。
當(dāng)我們需要做熱修復(fù)的時(shí)候:
1.基準(zhǔn)包放入bakApk目錄下的文件夾中,文件夾不要出現(xiàn)中文,仿照系統(tǒng)生成樣式即可。
2.驗(yàn)證tinker-support.gradle文件中的配置,該文件存在于Project>>>>app下
? ? def baseApkDir ="name1"
這里的“name1”配置需要和你存放基準(zhǔn)包的文件名相同。
? ? baseApk ="${bakPath}/${baseApkDir}/name2.apk"
這里的“name2”需要和你的基準(zhǔn)包文件名相同,編譯補(bǔ)丁包時(shí),必需指定基線版本的apk,默認(rèn)值為空,如果為空,則表示不是進(jìn)行補(bǔ)丁包的編譯。
3.運(yùn)行Gradle命令buildTinkerPatchRelease進(jìn)行布丁包生成(AndroidStudio編輯器的右邊Gradle)。
4.命令運(yùn)行完畢后會(huì)在
Project>>>>app>>>>build>>>>outputs>>>>patch下生成三個(gè)文件,前兩個(gè)是簽名的,最后一個(gè)是沒有簽名的。上傳布丁用前兩個(gè)任意一個(gè)即可。
5.在BugLy中上傳布丁進(jìn)行下發(fā)。
6.測(cè)試是否下發(fā)成功一定要用線上簽名包,只會(huì)修復(fù)“線上包”。
需要注意的:
不用修改versionName和versionCode.
關(guān)閉網(wǎng)絡(luò)代理
配置好所有屬性后,需要重新啟動(dòng)AndroidStudio
當(dāng)你發(fā)送一個(gè)布丁后又發(fā)現(xiàn)了一個(gè)bug,就在修改代碼完成之后再此重復(fù)上述操作即可。
2018.9.30記錄