安卓air應用熱更新法

2021-06-23 06:20:38 字數 589 閱讀 8178

如題

眾所周知蘋果是明令禁止熱更新的。安卓系統下air應用的熱更新可以採用類似頁遊的方式進行。

需要做的:

1 客戶端檔案結構採用 殼+主檔案+其他資源檔案的模式;

2 伺服器端維護乙個主檔案版本號和乙個資源檔案版本號表;

3 應用啟動後殼先連線伺服器獲取伺服器端的主檔案版本號,將之與客戶端主檔案版本號比較後確定是否需要更新主檔案。

需要更新的話,由殼走遠端載入檔案流程從web伺服器載入主檔案並覆蓋本地主檔案;不需要更新的話,殼直接載入本地主檔案進入遊戲流程。

4 其他資源檔案的更新用類似的方法處理。

比如客戶端和伺服器端使用同乙個資源檔案版本號表記錄所有資源檔案的版本號(表可用工具生成,資源檔案版本號可用該檔案md5碼之類的標識,內容其實就是 檔案路徑/版本號 鍵值對)。伺服器端維護乙份最新的表(伺服器每次有資源更新時都維護這個表),客戶端主檔案通過比對本地的表和伺服器端的表確認是否有資源需要更新以及需要更新哪些資源,若需要更新,則將資源遠端載入完畢後覆蓋到本地即可同步(這個版本號表也可以和主檔案一樣單走版本號或者不走版本號每次都去伺服器拿。個人傾向於前者,雖然要多維護乙個版本號,但其實更新不會那麼頻繁啦,而且初始化流程會簡化很多)。

安卓版本更新

以跳轉google play市場為例 需要介面支援,拿到介面返回的版本號 string versionname getactivity getpackagemanager getpackageinfo getactivity getpackagename 0 versionname 這是獲取系統版本...

安卓熱修復之 大蒐集

android dex分包方案 開源中國 原理分析 android 熱補丁動態修復框架小結 鴻洋 android熱更新實現原理 大頭鬼bruce 熱修復庫 dodola 寒江不釣 bunnyblue from android 熱補丁和熱修復 參考 各大熱補丁方案分析和比較 xposed 專案描述 x...

Flutter 應用熱更新

不過,熱更新雖然具有很大的優點,但是濫用熱修復也會給應用帶來不好的體驗,並且蘋果對於熱更新和修復是明令禁止的,所以熱更新主要針對的是國內android市場。目前,flutter對外開放的sdk是不支援熱更新的,但是在flutter的原始碼裡有一部分預埋的熱更新相關的 可以通過一些必要的手段在andr...