導航:首頁 > 操作系統 > 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相關的資料

熱點內容
androidapi中文合集 瀏覽:658
win7下安裝linux虛擬機 瀏覽:838
雲主機用別的伺服器嗎 瀏覽:922
黑馬買入指標源碼副圖 瀏覽:962
微軟為什麼會把伺服器放在水底 瀏覽:257
php截取字元串中文 瀏覽:21
虛擬機和編譯軟體哪個好 瀏覽:750
存儲伺服器為什麼比通用伺服器難 瀏覽:373
用php列印出前一天的時間 瀏覽:369
2010編譯方法 瀏覽:239
華為哪裡查看隱藏app 瀏覽:889
linux網卡重置 瀏覽:830
框架柱低於四米箍筋全高加密 瀏覽:694
米二如何安卓版本升級到高安卓版 瀏覽:783
安卓手機數據慢怎麼辦 瀏覽:727
雙底買賣指標公式源碼無未來函數 瀏覽:685
我的世界伺服器換電腦怎麼玩 瀏覽:215
linux內核源碼內存調優 瀏覽:789
活塞壓縮機廠家 瀏覽:492
java程序員macos 瀏覽:982