war包熱更新 專案優化之熱更新

2021-10-12 15:06:35 字數 2327 閱讀 1207

方案

不加固的apk:

1、支援熱更新的手機

2、不支援熱更新的手機

加固的apk:

web為了保證不支援熱更新的手機,也能公升級修復bug,並保證版本號不變,所以每次熱更新,後台都必選管理所有渠道的apk,也即每次熱更新都必須提供所有渠道的apk。

每次更新後台補丁時,都需要提供的檔案:

1、通用補丁檔案

3、加固的渠道,所有渠道的apk檔案(加固的apk不支援熱更新)

重點:所有渠道的apk檔案,都要有!!!

通訊新增checkpatchversion介面(新增,檢測並獲取最新版本補丁資訊)

url引數string  channel  渠道(必須)

integer   version  當前軟體版本號(必須)

integer   patchversion   當前補丁版本號(必須)

string    devicename   裝置型號

string    sdklevel      系統版本

返回值integer  flag:1-是最新補丁,0-不是最新補丁

patchinfo  info:最新版本補丁資訊(當flag=0時有值,flag為1時為空)

描述通訊:

根據版本號、補丁號、渠道名,確定是否有熱更新

1、如果是加固的渠道,只返回apk資訊

2、如果是非加固渠道,返回補丁和apk資訊

終端:if(info.patchfileid > 0)elseelse{

//沒有補丁檔案

if(info.apkfileid > 0){

測試熱更新必要驗證流程:

至少要驗證的版本:

5.1.5-520-0(市場版本)

準備檔案:

5.1.5-520-0-baidu7.apk(不加固)、5.1.5-520-0-36012.apk(加固)

5.1.5-520-1(熱更新版本)

準備檔案:

通用補丁包、5.1.5-520-1-baidu7.apk(不加固)、5.1.5-520-1-36012.apk(加固)

5.1.5-520-2(熱更新版本)

準備檔案:

通用補丁包、5.1.5-520-2-baidu7.apk(不加固)、5.1.5-520-2-36012.apk(加固)

5.1.6-530-2(市場版本)

準備檔案:

5.1.6-530-2-baidu7.apk(不加固)、5.1.6-530-2-36012.apk(加固)

準備手機:

三星android-21(5.0)機型或其他不支援補丁的手機a、手機b、手機c、手機d

保證驗證的流程:

1、市場版本,公升級下乙個補丁包是否正常(例如5.1.5-520-0公升級到5.1.5-520-1)

3、補丁版本,公升級下乙個補丁版本是否正常(例如5.1.5-520-1公升級到5.1.5-520-2)

4、某些不支援補丁的手機(手機a),apk公升級到補丁版本之後,再公升級下乙個補丁版本是否正常(例如手機a通過apk公升級到5.1.5-520-1後,是否能正常公升級到5.1.5-520-2)

5、熱更新版本,是否能正常公升級到下乙個市場版本(例如5.1.5-520-2,是否能正常公升級到5.1.6-530-2)

手機保證修改:

1、關於戶外助手與幫助裡面,顯示版本名-版本號-補丁版本

2、每次發布補丁,至少修改下**、布局(這個也不算太重要,要是不支援的也沒辦法了)

測試流程:

1、發布5.1.5-520-0(市場版本)

測試:手機a安裝baidu7渠道,驗證5.1.5-520-0版本特徵及是否是baidu7渠道

手機b安裝baidu7渠道,驗證5.1.5-520-0版本特徵及是否是baidu7渠道

手機c安裝baidu7渠道,驗證5.1.5-520-0版本特徵及是否是baidu7渠道

手機d安裝36012渠道,驗證5.1.5-520-0版本特徵及是否是36012渠道

2、發布5.1.5-520-1(熱更新版本)

測試:手機b是否能自動載入補丁包然後完成公升級,驗證5.1.5-520-1版本特徵及是否是baidu7渠道;

手機c是否能自動載入補丁包然後完成公升級,驗證5.1.5-520-1版本特徵及是否是baidu7渠道(驗證完全手機設定裡面殺死程序,不要執行公升級到5.1.5-520-2,為了驗證5.1.5-520-1跳過5.1.5-520-2公升級到5.1.6-530-2);

3、發布5.1.5-520-2(熱更新版本)

測試:手機b是否能自動載入補丁包然後完成公升級,驗證5.1.5-520-2版本特徵及是否是baidu7渠道;

4、發布5.1.6-530-2(市場版本)

測試:

war包熱更新 electron 熱更新實現方式

1 electron是乙個外殼 html js css 資料報 按照官方的邏輯,採用electron builder的時候 會直接打包成asar 如果單單是打包html檔案也就算了,關鍵裡面還打包的node module 整整100mb 我只更新個html,不可能對node module重新打包吧。...

react native之熱更新

native 發生了變動 資源或者是js發生變動 好的,以上都是理論原理內容,由於專案期只有2個人在做rn前端方面的開發,所以沒有足夠的時間去開發公司內部的熱更新。所以使用了第三方的元件react native pushy 註冊乙個pushy賬號 pushy 配置bundle url ios 在工程...

vue 熱更新無反應 熱更新之宇宙級別的簡單暴力

熱更新 大家應該都對 webpack 的熱更新比較熟悉,它主要做的事情就是,檔案修改了,就重新整理檢視 websocket ws 是熱更新最常用的通訊形式,主要是 server 端檔案更改了,就往 client 發個訊息,這個訊息一般包含 檔案路徑和時間戳 sork.send 客戶端收到訊息就可以進...