導航:首頁 > 操作系統 > hotpatchandroid

hotpatchandroid

發布時間:2022-08-12 01:37:33

android熱更新框架哪個好

一.基礎知識

1.阿里的熱更新框架已經開源 了。但已經很久沒有更新過新版本了。當前的版本只支持到了 Android 4.4。由於 5.0 起新的 ART 虛擬機、更嚴格的 SELinux 策略以及對 64 位的支持之類的事,使得 Xposed 都在開發上做了很多調整。我不知道 Dexposed 現在是否支持,但至少阿里沒有開源。

2.在本地動態執行遠端下發的代碼是極度危險的行為。利用此方法執行非法代碼等或用於繞過 Google Play 等市場的審查是違反相關協議的,也是對用戶極度不負責任的行為。

3.在一些訪問非常密集的地方使用熱更新可能會對效率產生相對比較大的影響,應該避免使用.

4.我們可以對 Java 的 ScriptEngine 進行一些封裝成為一個 HotPatch 類使得它更適合做熱更新的工作。

5.首先,檢查熱更新補丁的管道一定要建立在 https 上,因為下發代碼是極其危險的,如果被劫持,後果是無法想像的。其次,請求時最好自動帶上 Android 版本、手機型號、地區、版本號等信息,以方便更精確地下發,千萬不能下發錯。

6.Java在運行時載入對應的類是通過ClassLoader來實現的,ClassLoader本身是一個抽象來,Android中使用PathClassLoader類作為Android的默認的類載入器

7.我們的如果想做hotpatch,一定要保證我們的hotpacth dex文件出現在dexElements列表的前面。

二.常用的熱更新技術框架:

基於QQ空間的HotFix →→ 要使用到android dex分包方案→拆分dex的項目的話,可以參考一下谷歌的multidex方案實現.

大眾點評的NuWa←項目補丁自動化做的很完整
alibaba/AndFix

阿里巴巴的DexPosed
dalvik_patch實現multidex
使用React-Native實現app熱部署的一次實踐
alibaba/AndFix

三、常用的熱更新技術框架比較

Advantage
disadavantage
NuWa
1,可以新增類和欄位,
2,兼容到6.0系統
1,基本原理是classloader,類載入器
2,不能修改資源文件,如圖片布局等(可通過動態布局實現)
AndFix
1, 支持Android2.3到6.0版本
2, 支持arm與x86系統架構
3, 支持dalvik和ART的runtime
4, 不需要重啟App即可應用補丁
1,不能新增類和欄位,
2,不能修改資源文件,
3,不能修改manifest文件
4,不能新增成員變數
5,不能使用加固後的apk製作pacth文件
四、github地址
網路的同學的實現 HotFix
點評的同學的實現 Nuwa
阿里的同學的實現 AndFix
另:AndFix對static的支持不太好,下面是試驗的Demo:
添加了一個靜態的欄位addString:

通過AndFix來製作patch會直接報錯:

閱讀全文

與hotpatchandroid相關的資料

熱點內容
快速解壓文件的方法是什麼 瀏覽:59
23的源碼反碼補碼 瀏覽:209
斗羅大陸斗神再臨伺服器滿了怎麼辦 瀏覽:238
付費語音問答源碼 瀏覽:117
怎麼運行伺服器上的項目html 瀏覽:228
蚌埠市鴻申特種氣體壓縮機廠 瀏覽:959
傑特康app安卓怎麼辦 瀏覽:63
中國最強的程序員 瀏覽:870
程序員和產品經理打架 瀏覽:42
男網友是程序員 瀏覽:502
表格加密密碼怎麼設置 瀏覽:27
哪個app能賺錢o 瀏覽:852
cscexe編譯實現方法 瀏覽:558
移動端側拉導航源碼 瀏覽:976
jpg演算法主要包括 瀏覽:257
網路編程方向 瀏覽:993
bitlocker加密過程休眠 瀏覽:878
androidstudio快速生成 瀏覽:690
做程序員數學需要好嗎 瀏覽:557
螢石雲伺服器怎麼添加到桌面 瀏覽:390