热更新 + 命令行 打包 (阶段总结)

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

原文地址:https://www.cnblogs.com/crazycode2/p/6367329.html