中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AndFix Bug 熱修復框架原理及源碼解析

發布時間:2020-08-07 14:41:05 來源:網絡 閱讀:198 作者:qq593e097eaab3c 欄目:開發技術

作為阿里巴巴開源的 Android APP——熱修復工具AndFix ,幫助 Anroid 開發者修復應用的線上問題。Andfix 是 “Android hot-fix” 的縮寫。

1.什么是AndFix?
AndFix是阿里巴巴出的一個專門針對Android的熱修復框架
,那什么是熱修復呢?就是不需要重新安裝APK而達到修復bugs的目的。
看看阿里巴巴官方對AndFix的描述:
英文好的可以看官網說明文檔(有翻譯不妥歡迎指出)
1.AndFix是一個Android庫,它是在線解決bugs,而不是重新安裝app的一種解決方案。
2.AndFix是Android hot-fix
的縮寫
3.AndFix 支持Android的2.3-7.0的版本,支持ARM和X86的處理器,支持Dalvik與ART的運行時,支持32位和64位。
4.AndFix的補丁文件的格式是.apatch
,它是由您自己的服務器分發到客戶端解決您的應用程序的錯誤。
2.AndFix的原理
AndFix的實現原理是方法體的替換
AndFix Bug 熱修復框架原理及源碼解析

3.修復過程

AndFix Bug 熱修復框架原理及源碼解析

4.獲取AndFix庫
直接將AndFix AAR添加到您的項目作為編譯庫。
對于Maven的依賴:
<dependency>
<groupId>com.alipay.euler</groupId>
<artifactId>andfix</artifactId>
<version>0.5.0</version>
<type>aar</type>
</dependency>
對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.加載補丁
patchManager.loadPatch();
你應該盡可能早地加載補丁,通常在你的應用程序初始化階段加載補丁,例如:在Application.onCreate()
中加載補丁
3.添加補丁
patchManager.addPatch(path);//path of the patch file that was downloaded
當一個新的補丁文件已經下載,,通過調用了addPatch()方法就會立即生效。
6.補丁制作工具
1.下載補丁制作工具
AndFix 給我們提供了一個制作補丁的工具apkpatch

2.使用補丁工具
1.準備兩個android apk文件 , 一個是在線的apk文件,另一個是修復bug后的apk文件(兩個apk的版本號一樣)
2.通過這兩個apk文件生成一個補丁文件.apatch
//在補丁的工具文件夾中,打開控制臺,并在控制臺輸入:
apkpatch -f <new> -t <old> -o <output> -k <keystore> -p <> -a <alias> -e <>
//參數說明:
-a,--alias <alias> keystore entry alias.
-e,--epassword <> keystore entry password.
-f,--from <loc> new Apk file path.
-k,--keystore <loc> keystore path.
-n,--name <name> patch name.
-o,--out <dir> output dir.
-p,--kpassword <
> keystore password.
-t,--to <loc> old Apk file path.
3.在控制臺中執行上面命令后,在指定的<output>文件夾中后會生成,如下文件:
smali
app-release1-44c095be1acbdd01beed3afd478182f0.apatch
diff.dex
其中app-release1-44c095be1acbdd01beed3afd478182f0.apatch
就是補丁文件。

關于熱修復的修復過程,解析了解就到這里就結束了,有一些東西可能解析得還不是特別細,不夠深入,對于我們一般的開發者來說,會使用一些常見的熱修復框架即可,無需太過深入。深入分析源碼通常來說只是為了我們更好去使用而已。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

土默特右旗| 尚义县| 文登市| 石泉县| 宕昌县| 阆中市| 资溪县| 霸州市| 龙里县| 阿拉尔市| 福州市| 西城区| 崇州市| 军事| 徐汇区| 卢氏县| 平南县| 临夏市| 沙湾县| 长武县| 炉霍县| 乃东县| 从江县| 左贡县| 韶山市| 丰县| 桦甸市| 徐水县| 子长县| 开江县| 竹山县| 崇文区| 佛冈县| 鄂伦春自治旗| 白山市| 温泉县| 封丘县| 山阴县| 安岳县| 东城区| 承德县|