cordova熱更新

全局安裝cordova

npm install –g cordovahtml

 

全局安裝熱更新cli

npm install -g cordova-hot-code-push-cliandroid

 

android熱更新步驟

建立cordova項目

Cordova create cordova-hot-pushios

安裝熱更新插件

cordova plugin add cordova-hot-code-push-plugin

 

添加熱更新配置文件

cordova-hcp init 生成配置文件npm

 

 

最後生成的文件json

 

 

解釋一下里面的配置服務器

Name :項目名字網絡

Update:什麼時候觸發熱更新,有幾個選項(start(應用啓動),resume(應用從後臺恢復),now(下載更新後自動執行))app

Content_url:此項配置很是重要。這是www目錄存放的網絡位置,當有更新的時候,應用會去這個目錄下載對應文件。個人作法是在iis上新建一個hot虛擬目錄,把www的內容複製進去。測試

 

生成文件映射配置文件

cordova-hcp buildui

 

 

文件映射配置文件生成後,會在www目錄下生成兩個文件

 

 

第一個chcp.json文件

 

 

咱們能夠看到,和熱更新配置文件幾乎同樣,只是多了一個release。版本號。這個版本號通常以時間爲單位。

第二個chcp.manifest文件

 

 

能夠看到,裏面是每一個文件的hash映射。

Config.xml配置

添加配置

<chcp>

<config-file url="http://172.26.40.153/hot/chcp.json" />

<auto-download enabled="true" />

<auto-install enabled="true" />

<native-interface version="1" />

</chcp>

 

 

 

 

添加安卓平臺

Cordova platform add android

 

打包並安裝

Cordova build android

 

 

 

 

測試更新代碼

 

假設咱們如今要更新一個代碼。把index.html裏面隨便加個內容

 

 

 

添加完成以後。保存代碼。

 

 

 

這裏解釋一下更新的原理

當app啓動的時候,會去檢查本地的版本(release)和服務器上的release(chcp.json)是否同樣。不同的話就去對比文件hash,進行相應的文件更新。

 

因此咱們要作的是,先把更新後的代碼從新生成文件映射配置文件

 

 

能夠看到咱們的版本號變了。

 

接下來把www下面的文件拷貝到以前配置的熱更新代碼存放點(http://172.26.40.153/hot)的對應目錄。(第一次拷貝全部文件,之後只須要拷貝修改過的文件到對應目錄替換以及兩個chcp相關的文件便可)

 

接下來去啓動app試試看

 

 

成功!

 

注意事項

生成熱更新配置文件的時候,update選項設置爲start,必定要啓動兩次app才生效。根據個人推測,第一次是下載文件,第二次才生效。把Update配置項改爲now不知道會不會立馬生效,可是若是須要更新的文件較多,不知道會不會影響用戶的使用,待測試。

 通過測試,安卓好像只支持http協議,不支持https協議的熱更新

Ios熱更新步驟

Ios熱更新

Ios的熱更新和安卓基本同樣。不同的地方只是Ios只能使用https協議進行熱更新。所以咱們以前得配置都須要配置成https協議。如https://172.26.40.153/hot  另外,咱們要提早作的事情是在咱們的服務器上頒發https證書並綁定,同時在ios設備上安裝該證書,信任,才能夠進行熱更新。

相關文章
相關標籤/搜索