在做ionic APP開發(fā)時偎巢,在本地經(jīng)過驗證和調(diào)試,已解決ionic熱更新問題兼耀。特記錄下來压昼。
表述如果有不當(dāng)之處求冷,歡迎指出,共同學(xué)習(xí)窍霞。
此次主要是做熱更新匠题,暫時還沒做外殼更新。
安裝Cordova Hot Code Push
ionic cordova plugin add cordova-hot-code-push-plugin
Cordova Hot Code Push文檔參考 Cordova Hot Code Push
安裝cordova Hot Code Push Cli
npm install -g cordova-hot-code-push-cli
Cordova Hot Code Push Cli 文檔參考 Cordova Hot Code Push Cli
配置Platform
ionic cordova platform add android
ionic cordova platform add ios
配置 cordova hcp模板
在根目錄下執(zhí)行下面命令(tpb目錄下)
cordova-hcp init
用于動態(tài)生成chcp.json和chcp.manifest文件的模板(不用每次手動更改chcp.json和chcp.manifest)
-
可以暫時選擇只配置下面三個選項
...
Enter project name: TopBss
Update method(required): resume
Enter full URL: 遠(yuǎn)程域名地址/updates
...
Update method(required)有三種方式: now但金,start韭山,resume
遠(yuǎn)程地址用來放app build后的www內(nèi)部的所有文件
-
生成后的cordova-hcp.json文件(在根目錄中),并添加ios_identifier和android_identifier(config.xml中對應(yīng)的ID和android-packageName)
{
"name": "TopBss",
"ios_identifier": ID,
"android_identifier": android-packageName,
"update": "start",
"content_url": "遠(yuǎn)程域名地址/updates"
}
配置APP的config.xml
<chcp>
<config-file url="遠(yuǎn)程域名地址/updates/chcp.json" />
<auto-download enabled="true" />
<auto-install enabled="true" />
</chcp>
- chcp.json 本地app和遠(yuǎn)程的chcp.json中的release進(jìn)行對比冷溃,如果不一致則會進(jìn)行下載更新
- auto-download 設(shè)置為true時钱磅,則為自動下載遠(yuǎn)程需要更新的文件
- auto-install 設(shè)置為true時,則為自動安裝
修改完后似枕,重新build APP盖淡,并重新生成chcp.json和chcp.manifest(生成的兩個文件在www文件夾中)
ionic cordova build android --prod --release
(ios則執(zhí)行 ionic cordova build ios --prod --release)
cordova-hcp build
將www內(nèi)的所有文件發(fā)布到遠(yuǎn)程服務(wù)器。
PS:
- 此次做的熱更新主要是選擇app從后臺切換過來的時候安裝更新凿歼。每次版本更新禁舷,都要執(zhí)行一次cordova-hcp build,并將WWW內(nèi)的文件傳到服務(wù)器上毅往。
- config.xml和cordova-hcp.json中的服務(wù)器地址需要自己開個服務(wù)器存放www內(nèi)的文件牵咙。
使用Cordova Hot Code Push進(jìn)行Ionic App熱更新 參考網(wǎng)址