十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
雖然阿里的AndFix框架已經(jīng)出來(lái)很長(zhǎng)時(shí)間了,但是還不了解它的同學(xué)依然挺多,接下來(lái)就跟著我一起來(lái)到AndFix的世界里一起看看,如何達(dá)到不用重新安裝app就可以修復(fù)bug。
1.什么是AndFix?
AndFix是阿里巴巴出的一個(gè)專門針對(duì)Android的熱修復(fù)框架
,那什么是熱修復(fù)呢?就是不需要重新安裝APK而達(dá)到修復(fù)bugs的目的。
看看阿里巴巴官方對(duì)AndFix的描述:
英文好的可以看官網(wǎng)說(shuō)明文檔(有翻譯不妥歡迎指出)
1.AndFix是一個(gè)Android庫(kù),它是在線解決bugs,而不是重新安裝app的一種解決方案。
2.AndFix是Android hot-fix
的縮寫(xiě)
3.AndFix 支持Android的2.3-7.0的版本,支持ARM和X86的處理器,支持Dalvik與ART的運(yùn)行時(shí),支持32位和64位。
4.AndFix的補(bǔ)丁文件的格式是.apatch
,它是由您自己的服務(wù)器分發(fā)到客戶端解決您的應(yīng)用程序的錯(cuò)誤。
2.AndFix的原理
AndFix的實(shí)現(xiàn)原理是方法體的替換
3.修復(fù)過(guò)程
4.獲取AndFix庫(kù)
直接將AndFix AAR添加到您的項(xiàng)目作為編譯庫(kù)。
對(duì)于Maven的依賴:
對(duì)gradle的依賴:
dependencies {
compile 'com.alipay.euler:andfix:0.3.1@aar'
}
5.如何使用AndFix
1.初始化PatchManager
patchManager = new PatchManager(context);
patchManager.init(appversion);//current version
2.加載補(bǔ)丁
patchManager.loadPatch();
你應(yīng)該盡可能早地加載補(bǔ)丁,通常在你的應(yīng)用程序初始化階段加載補(bǔ)丁,例如:在Application.onCreate()
中加載補(bǔ)丁
3.添加補(bǔ)丁
patchManager.addPatch(path);//path of the patch file that was downloaded
當(dāng)一個(gè)新的補(bǔ)丁文件已經(jīng)下載,,通過(guò)調(diào)用了addPatch()方法就會(huì)立即生效。
6.補(bǔ)丁制作工具
1.下載補(bǔ)丁制作工具
AndFix 給我們提供了一個(gè)制作補(bǔ)丁的工具apkpatch
2.使用補(bǔ)丁工具
1.準(zhǔn)備兩個(gè)android apk文件 , 一個(gè)是在線的apk文件,另一個(gè)是修復(fù)bug后的apk文件(兩個(gè)apk的版本號(hào)一樣)
2.通過(guò)這兩個(gè)apk文件生成一個(gè)補(bǔ)丁文件.apatch
//在補(bǔ)丁的工具文件夾中,打開(kāi)控制臺(tái),并在控制臺(tái)輸入:
apkpatch -f
除了AndFix,還有很多其它非常好用的框架,還有很多東西需要大家自己探索。當(dāng)然,如果你關(guān)注我們,你會(huì)收獲更多。我們也愿意助你在學(xué)習(xí)道路上起航揚(yáng)帆。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。