先安裝外掛,步驟如下
1、在APP目錄下執行
cordova plugin add cordova-hot-code-push-plugin
2、在APP目錄下執行
cordova plugin add cordova-hot-code-push-local-dev-addon
3、安裝CLI:
npm install -g cordova-hot-code-push-cli
在這一步的時候如果出現安裝錯誤,可用以下辦法解決:
A、安裝python2.7,並將C:\Python27加入環境變數
B、安裝VS2013_RTM_DskExp_CHS
C、儲存外掛
ionic state save
開始配置
4、安裝完成後執行
cordova-hcp build
,之後www資料夾下面出現chcp.json以及chcp.manifest兩個檔案
開啟另一個視窗
$ cordova-hcp server
A、chcp.json檔案內容說明
{
"autogenerated": true,
"release": "2016.08.29-15.52.14", //版本號
"content_url": "http://www.123.com/www/",//WWW資料夾所在遠端地址
"update": "now"//分三種情況
// start - app啟動時安裝更新. 預設值.
// resume - app從後臺切換過來的時候安裝更新.
// now - web內容下載完畢即安裝更新.
}
該檔案每次執行cordova-hcp build 都會自動重新生成,為了方便,可以在APP專案的根目錄下新增一個模板檔案cordova-hcp.json,內容如下:
{
"autogenerated": true,
"release": "2016.08.29-16.52.27",
"content_url": "http://www.123.com/www/",
"update": "start"
}
B、chcp.manifest為檔案清單
5、在APP專案的根目錄下會生成一個.chcpenv的檔案,開啟該檔案,編輯更新內容遠端地址以及遠端配置檔案地址,如下:
{
"content_url": "http://www.123.com/www/",
"config_url": "http://www.123.com/www/chcp.json"
}
6.在config.xml 檔案中新增
<chcp>
<auto-download enabled="true" />
<auto-install enabled="true" />
<config-file url="伺服器的地址 http://www.123.com/www/chcp.json" />
</chcp>
7.修改 chcp.json 檔案
{
"autogenerated": true,
"release": "2017.01.20-13.37.00",
"content_url": "http://www.123.com/www",
"update": "now"
}
8.移除 cordova plugin add cordova-hot-code-push-local-dev-addon
命令列:
cordova plugin remove cordova-hot-code-push-local-dev-addon
注:把根目錄下的www目錄拷貝到伺服器中
9.開始打包
ionic build android --release
platforms -- android -- build -- outputs -- apk -- android-release-unsigned.apk
複製到專案根目錄
Git Bash Here
//生成key
keytool -genkey -alias ship.keystore -keyalg RSA -validity 1000 -keystore ship.keystore
說明:keytool -genkey -alias 別名.keystore -keyalg RSA -validity 有效期限(天數) -keystore 別名.keystore
例如:keytool -genkey -alias hello.keystore -keyalg RSA -validity 1000 -keystore hello.keystore
//簽名
jarsigner -verbose -keystore ship.keystore -signedjar ship.apk android-release-unsigned.apk ship.keystore
說明:jarsigner -verbose -keystore 別名.keystore(金鑰庫位置) -signedjar 簽名後產生的檔案.apk 要簽名的檔案.apk 別名.keystore(金鑰庫)
例如:
jarsigner -verbose -keystore hello.keystore -signedjar hello.apk android-release-unsigned.apk hello.keystore
10.設定 icon 和 splash
解決方案:
1.ionic resources
2.ionic build android
3.將根目錄下 res 資料夾中的內容複製貼上到 platforms -- android -- res 中
11.安裝熱更新外掛後,下次更新內容操作
A.cordova-hcp build / cordova build
B.把根目錄下的www目錄中的檔案拷貝到伺服器中(hotcode檔案中)
例如:(本地伺服器無法測試熱更新??)
{
"content_url": "http://127.0.0.1:8020/tongzhou/hotcode",
"config_url": "http://127.0.0.1:8020/tongzhou/hotcode/chcp.json"
}