因為項目需要用到更新這一塊的東西,所以就查了下cordova 的熱更新,然后遇到了 一些問題,記錄下來備忘。
項目用的是ionic 下載cordova的內容就直接跳過了。
首先是下載cordova的插件:
npm install -g cordova-hot-code-push-cli(用來動態生成chcp.json和chcp.manifest兩個文件) cordova plugin add cordova-hot-code-push-plugin (插件)
cordova plugin add cordova-hot-code-push-local-dev-addon(ps:這個插件裝不裝其實也沒有影響,因為我們不是要求實時更新界面的,而且在正式發布App的時候必須得移除這個插件)
配置:config.xml

1.url的路徑是我放在tomcat的本地服務器 ,測試下這個路徑是否可以連通。然后執行終端 里的 ionic build ios 遇到的問題 是不執行build staging中的文件不會編譯
2.命令進入自己項目根目錄,運行cordova-hcp build,這個運行后,它會自動去改chcp.json下的release值,和chcp.manifest下的改過的文件的hash值.
這個命令在項目根目錄下的www目錄中生成chcp.json和chcp.manifest兩個文件。Chcp.json包含了項目的版本信息,是否立即更新,服務器的更新地址。Chcp.manifest包含了www目錄下的文件和對應的hash碼值。為了chcp.json文件生成的方便,我們需要在項目的根目錄下新建一個文件cordova-hcp.json,內容為:
{ "content_url": "http://localhost:8080/www", "autogenerated": true, "update": "now", "release": "2017.01.04-14.30.44" }
直接把根目錄下的www目錄拷貝到服務器中,注意地址不要寫錯。然后啟動我們的app,第一次啟動的時候檢查更新並下載更新,第二次啟動的時候就會使用更新的版本。
