方案
不加固的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 客戶端收到訊息就可以進...