Ionic使用cordova-hot-code-push實現熱更新

前言

使用ionic+angularjs做混合應用開發也有一段時間了,在這個過程上最痛苦的事情莫過於更新,每次都需要焦急的等上幾天時間。偉大的喬幫主強大的控制慾在他離世多年後的今天依然影響着我。熱更是用於解決小版本更新,也就是說並不是所有的更新cordova-hot-code-push都能幫你做,具體可以參考插件的官方wiki.

依賴


實現

  • 首先需要有一個ionic工程(具體可參考ionic官網)
  • cd 到工程目錄下
  • 安裝cordova-hot-code-push-plugin插件
    cordova plugin add cordova-hot-code-push-plugin
  • 安裝cordova-hot-code-push-local-dev-addon
    cordova plugin add cordova-hot-code-push-local-dev-addon
  • npm install -g cordova-hot-code-push-cli
  • 運行cordova-hcp build,命令完成之後在項目的www目錄下會生成chcp.json和chcp.manifest兩個文件
  • 修改config.xml(url所指向的路徑後面會說明,native-interface指的是當前最小內核版本)
    <chcp>
    <config-file url="http://serverhost:serverport/hotcode/test/www/chcp.json"/>
    <native-interface version="1" />
    </chcp>
  • 修改chcp.json(content_url更新文件放的路徑,release版本號,min_native_interface適用的最小內核版本【一定是整數,這個千萬別弄錯了】)
    {
    "content_url": "http://serverhost:serverport/hotcode/test/www",
    "release": "2017.03.23-15.12.24",
    "min_native_interface": 1
    }
  • 搭建自己的熱更新服務,其實就是在tomcat下放個空項目,然後在空項目的前端根目錄下把www的內容都放進去,啓動tomcat,前幾步說的serverhost和serverport指向tomcat
  • 運行cordova build,然後把安裝包裝到測試機上
  • 隨便修改一個js(www目錄裏的),然後運行cordova-hcp build
  • 把chcp.json按上面的格式修改一下,注意別把這動生成的版本號給改了
  • 把www裏的東西拷到tomcat的hotcode相應的目錄下
  • 等一會兒(差不多5分鐘),測試機上就會自動更新了

經驗

  • 最好在服務端加一個filter,這樣就可以看到是否有去服務端加載資源了
  • 如果等了有點久,手機端還是沒有什麼反應,這時間把手機端進程手動殺了,再進應用就好了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章