先安装插件,步骤如下
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"
}