一、 准备工作
环境自行配置:
ubuntu 16.04, nodejs,nginx, jdk, android studio 2.3.3, android sdk等
二、 安装cordova, 请参考cordova官网
三、创建android项目并增加相关插件与配置
1. 创建项目
cordova create TestHotCodeUpdate com.test.example
其中,com.test.example为包名,可以省略使用默认。
2. 进入TestHotCodeUpdate,增加android平台:
cordova platform add android
3. 安装热更新插件
cordova plugin add cordova-hot-code-push-plugin,然后安装CLI,我是没有安装成功,直接拷贝一个过来的,下载, 密码: eeac
下载后,放到你的node目录中,因为我的node是手动安装的,具体路径:/usr/local/node-v6.11.4-linux-x64/lib/node_modules,并解压cordova-hot-code-push-cli,将bin中的cordova-hcp软链到/usr/local/node-v6.11.4-linux-x64/bin目录下,再软链到/usr/local/bin/cordova-hcp,这样整个用户均可用。
4. 修改配置文件config.xml,加入以下配置:
- <chcp>
- <config-file url="http://127.0.0.1/cordova-hot-code-push/TestHotCodeUpdate/www/chcp.json"/><!--更新地址-->
- <auto-download enabled="true"/><!--是否自动下载-->
- <auto-install enabled="true"/><!--是否自动更新-->
- <native-interface version="1"/><!--最小版本号,整数-->
- </chcp>
- {
- "name": "TaskList",
- "update": "start",
- "autogenerated": true,
- "min_native_interface": "1",
- "content_url": "http://127.0.0.1/cordova-hot-code-push/TestHotCodeUpdate/www"
- }
6. 导入android studio
导入时注意,选择路径为:TestHotCodeUpdate/platforms/android,目录结构如图:
将应用部署到android手机或 模拟器中,如上图
四、web服务器搭建
本文使用的是nginx,如何搭建具体请参考nginx官网 或 中文相关网站
安装web服务完成后,在nginx根目录创建:~/nginx/html/cordova-hot-code-push/TestHotCodeUpdate 相关目录,并将项目中的www整个目录放到TestHotCodeUpdate目录中
五、如何使用?
在步骤6时,已经安装好app到模拟器了。此时,我们仅需要修改下www中的页面,并cordova-hcp build,然后将www目录重新放到nigix的TestHotCodeUpdate目录中
我们现在把index.html页面进行修改成经典编程时的
- <h1>Hello world!</h1>
此方式不能进行永久更新,只能临时更新,也就是如果用户在settings中把应用的缓存数据清空了,又会变成原来的样子。
谢谢,转发请标注出处。