由於項目須要用到更新這一塊的東西,因此就查了下cordova 的熱更新,而後遇到了 一些問題,記錄下來備忘。ios
項目用的是ionic 下載cordova的內容就直接跳過了。npm
首先是下載cordova的插件:json
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.xmltomcat
1.url的路徑是我放在tomcat的本地服務器 ,測試下這個路徑是否能夠連通。而後執行終端 裏的 ionic build ios 遇到的問題 是不執行build staging中的文件不會編譯服務器
2.命令進入本身項目根目錄,運行cordova-hcp build,這個運行後,它會自動去改chcp.json下的release值,和chcp.manifest下的改過的文件的hash值.app
這個命令在項目根目錄下的www目錄中生成chcp.json和chcp.manifest兩個文件。Chcp.json包含了項目的版本信息,是否當即更新,服務器的更新地址。Chcp.manifest包含了www目錄下的文件和對應的hash碼值。爲了chcp.json文件生成的方便,咱們須要在項目的根目錄下新建一個文件cordova-hcp.json,內容爲:ionic
{ "content_url": "http://localhost:8080/www", "autogenerated": true, "update": "now", "release": "2017.01.04-14.30.44" }
直接把根目錄下的www目錄拷貝到服務器中,注意地址不要寫錯。而後啓動咱們的app,第一次啓動的時候檢查更新並下載更新,第二次啓動的時候就會使用更新的版本。測試