功能描述
? ? ? APP熱更新:不需要重新打包,將更改的代碼上傳到服務(wù)器腾供,打開APP時(shí)仆邓,APP會(huì)自行到服務(wù)器檢測(cè)最新代碼以及下載到APP本地實(shí)時(shí)更新。
前期準(zhǔn)備
1.cordova-hcp cli安裝
? ? npm install -g cordova-hot-code-push-cli
? ? 安裝cordova-hcp的目的是為了伴鳖,打開熱更新服務(wù)
2.添加插件 cordova-hot-code-push-plugin
? ? cordova plugin add cordova-hot-code-push-plugin
? ? 本插件的git地址:https://github.com/nordnet/cordova-hot-code-push
3.添加插件cordova-hot-code-push-local-dev-addon
? ? cordova plugin add cordova-hot-code-push-local-dev-addon
? ? 該插件的作用:主要是為了能夠本地開發(fā)測(cè)試节值,但實(shí)際運(yùn)用中我們都有自己服務(wù)器(例如:Tomcat服務(wù)),因此此插件可以不必安裝榜聂。
4.使用如下命令build項(xiàng)目
? ? cordova-hcp build? 或者? cordova build
? ? 執(zhí)行完命令后會(huì)www目錄下生成兩個(gè)文件:chcp.json(用戶配置熱更新代碼版本設(shè)置)搞疗,chcp.manifest(此為清單文件,將www下的所有文件生成一個(gè)文件清單)须肆。
5.輸入如下命令打開熱更新服務(wù):
? ? cordova-hcp server
? ? 打開服務(wù)后匿乃,每次代碼的改動(dòng)都會(huì)更新chcp.json文件。
? ? ? ? {
? ? ? ? "autogenerated":true,
? ? ? ? "release":"2017.09.24-14.10.42",
? ? ? ? "content_url":"http://79265082.ngrok.io",
? ? ? ? "update":"now"
? ? ? ?}
? ? 說(shuō)明:
? ? ? ? release為更改時(shí)間豌汇,
? ? ? ? content_url為更新的路徑幢炸。
? ? ? ? update:可取值分別為:
? ? ? ? ? ? start :app啟動(dòng)時(shí)安裝更新. 默認(rèn)值.
? ? ? ? ? ? resume : app從后臺(tái)切換過(guò)來(lái)的時(shí)候安裝更新.
? ? ? ? ? ? now :web內(nèi)容下載完畢即安裝更新.
6.打開服務(wù)后會(huì)在根目錄下生成 .chcpenv 文件。
項(xiàng)目配置
1.使用命令打開 cordova-hcp server 熱更新服務(wù)拒贱。
2.更改 .chcpenv 文件(更改內(nèi)容如下)
? ? {
? ? "content_url": "http://192.168.14.232:8080/app/union_app_update",
? ? "config_url": "http://192.168.14.232:8080/app/union_app_update/chcp.json"
? ? }
? ? 說(shuō)明:
? ? ? ? content_url為放置更新代碼的根目錄路徑宛徊。
? ? ? ? config_url 為檢查更新chcp.json文件的路徑。
3.在config.xml中添加如下內(nèi)容:
? ? <chcp>
? ? ? ? <config-file url="http://192.168.14.232:8080/app/union_app_update/chcp.json"/>
? ? <chcp>
? ? url 為檢查更新chcp.json文件的路徑逻澳。
4.修改 chcp.json文件
? ? {
? ? "autogenerated":true,
? ? ?"release":"2017.09.24-14.10.42",
? ? "content_url":"http://192.168.14.232:8080/app/union_app_update",
? ? "update":"now"
? ? }
? ? 此時(shí)運(yùn)行將代碼運(yùn)行在APP中岩调,此時(shí)APP中的熱更新代碼相當(dāng)于生效了(注意此處cordova-hcp server啟動(dòng)的服務(wù)可關(guān)閉也可以不關(guān)閉)。
5.正常更改代碼(即正常的寫入:js赡盘、html或css代碼等)号枕。
6.代碼工作開發(fā)完成后,打開熱更新服務(wù)cordova-hcp server陨享,此時(shí)發(fā)現(xiàn)chcp.json 文件有所改動(dòng)葱淳,更改字段 content_url 的值钝腺。"content_url":"http://192.168.14.232:8080/app/union_app_update"。
7.將www下的文件全部復(fù)制在服務(wù)端的union_app_update目錄中赞厕。(復(fù)制完成后可以在地址欄中輸入地址:http://192.168.14.232:8080/app/union_app_update/chcp.json 測(cè)試是否能打開此文件)
8.結(jié)束APP應(yīng)用艳狐,重新打開APP即可看到更新內(nèi)容。
9.下載APP更新代碼可以放在APP啟動(dòng)頁(yè)面中皿桑。