最近作移動商城開發,須要一個自動升級APP的功能,在網上搜羅不少,發現有的是下載APK,有的在我這服務沒法實現,因爲時間緣由,都被PASS了,最後找到了一個熱更新插件,通過半天的調試,可使用,很欣喜,記錄下來,一塊兒學習。android
此插件名稱是cordova-hot-code-push 能夠在github 下載到源碼,附地址:https://github.com/nordnet/cordova-hot-code-pushios
1.首先打開cli,執行命令 npm install -g cordova-hot-code-push-cligit
此功能主要是爲了生成兩個配置文件chcp.json和chcp.manifest,用於檢測更新 github
2.安裝更新插件web
打開項目路徑,打開clinpm
ionic plugin add cordova-hot-code-push-pluginjson
ionic plugin add cordova-hot-code-push-local-dev-addon服務器
3.運行 cordova-hcp build 或 cordova buildionic
此時www文件夾中會出現兩個文件,也就是上文說的chcp.json和chcp.manifest學習
chcp.json格式
{ "autogenerated": true, "content_url": "http://xxxxx.com", //更新遠程庫路徑 "update": "start", //更新模式 start:啓動更新 resume:後臺切換回來更新 now:web內容下載完畢即安裝更新 "release": "2016.12.16-11.29.38" }
該文件在每次執行cordova-hcp build 都會更新,爲了避免用每次更改chcp.json的內容,能夠在項目根目錄下建立一個cordova-hcp.json文件,以下
{ "autogenerated": true, "content_url": "http://xxxxx.com", //更新遠程庫路徑
"update": "start"
}
之後每次執行cordova-hcp build時,會將cordova-hcp.json的內容更新到chcp.json中,省去每次都要修改的麻煩。
chcp.manifest 爲文件的名稱與hash值的集合,用於檢測哪些文件須要更新
4.此時在項目根目錄下會生成一個.chcpenv的文件,此文件用戶配置遠程服務器,內容以下:
{ "content_url": "http://xxxxx.com", //用於獲取文件 "config_url": "http://xxxxx.com/chcp.json" //用於訪問遠程服務器配置文件 }
5.如今就能夠打包APP測試,修改www目錄下的任何一個文件,而後cli執行cordova-hcp build,上面的兩個配置文件會同時更新,
而後將www下全部的文件一塊兒拷貝到遠程服務器目錄,我放在了IIS 下的一個AppUpdate下
6.如今就能夠打開程序查看更新效果,可能會打開兩次才能看到效果,能夠看一下剛纔更新的內容。
上述都是基於android的,ios 如今暫時尚未作。
到此程序更新就完成了。