材料,准备工作
项目 | 验证安装完成 | 教程 |
---|---|---|
npm | npm -v | node自带 |
npm install -g cordova | cordova -v | cordova打包教程 |
jdk | javac(安装jdk主要是目录,推荐默认,会安装好jir跟jdk两个目录) | jdk安装 |
sdk | adb这个也是需要配环境变量的 | sdk环境 sdk下载 |
ant | ant -v |
#1. 安装cordova
npm install -g cordova
# (可选步骤)2.检查环境
$ cordova requirement android
# 3.创建目录结构,文件夹取名为hello
$ cordova create hello
# 4.进入hello文件夹目录
$ cd hello
# 5.创建android平台
$ cordova platform add android --save
# (可选步骤)6.安装热更新插件
cordova plugin add cordova-hot-code-push-plugin
# (可选步骤)7.安装获取mac地址的插件
$ cordova plugin add https://github.com/mohamed-salah/MacAddress.git
# (可选步骤)8.全局安装热更新工具
$ npm install -g cordova-hot-code-push-cli
这里自己在内网服务器http://10.86.87.112:3033端口起了一个node服务。 例: /hotcode
{
"autogenerated": true,
"release": "2016.11.08-15.13.26",
"content_url": "http://10.86.87.112:3033/hotcode",
"update": "now"
}
# 使www文件夹下生成两个热更新所需文件chcp.manifest/chcp
$ cordova-hcp build
该代码需加在
<widget></widget>
标签内部
<chcp>
<auto-download enabled="false" />
<auto-install enabled="false" />
<config-file url="http://10.86.87.112:3033/hotcode/chcp.json"/>
</chcp>
添加弹窗js代码
//备注:这里的使用了Framework7
chcp.fetchUpdate(function(error, data) {
if(!error) {
myApp.modal({
title: "提示",
text: "有更新,确定更新吗?",
buttons: [{
text: '不更新'
}, {
text: "立即更新",
onClick: function() {
myApp.showPreloader('正在升级,升级完毕应用将自动重启...');
chcp.installUpdate(function(error) {
myApp.alert("更新完成", ["提示"]);
})
}
}]
})
} else {
myApp.alert("你当前是最新版本", ["提示"]);
}
})
运行命令
$ cordova build android
- 修改www目录下的内容,例如:修改index.html中的代码.
- 然后运行cordova-hcp build.
- 再将index.html和chcp.json和chcp.manifest一起上传到服务器对应的位置。
- 重新打开app将会看见更新的内容(一句json文件中release属性的时间大小判断,后打包的即为新版本)。
# 构建安卓平台apk
$ cordova build
目录 : > hello\platforms\android\build\outputs\apk