ionic3 热更新
jdk 安装+环境变量
ANDROID sdk 安装+环境变量
gradle 安装+环境变量
nodejs 安装
ionic3 安装
项目中常用指令
ionic start demo 新建一个名叫demo的项目
ionic serve 启动服务
ionic serve --lab 在浏览器中启动多个模拟
ionic g page demo 新建一个名叫demo的页面
ionic g provider demo 新建一个名叫demo的服务
ionic cordova platform add android 添加安卓平台
ionic cordova platform add ios 添加ios平台
ionic cordova build android 生成安卓apk( 项目根目录platformsandroidbuildoutputsapk)
ionic cordova build ios 生成Xcode项目文件,然后可打开Xcode进行
添加支持热更新!!!
1.先安装热更新插件:
在你的电脑端全局安装:
npm install -g cordova-hot-code-push-cli2.cd到项目目录下给项目添加插件:
cordova plugin add cordova-hot-code-push-local-dev-addon ( 此步可省略)
cordova plugin add cordova-hot-code-push-plugin3.执行:cordova-hcp server
4.执行完之后会在www文件夹中生成 两个文件:
chcp.json (文件主要是插件的配置信息)
chcp.manifest(文件则是www目录下各文件的hash值参照表)Update:有如下几个固定参数 start(app启动时安装更新,默认值)
now(app从后台切换过来的时候安装更新)
resume(web内容下载完毕即安装更新)
min_native_interface:最低版本号
content_url:项目在服务器上面的地址
5.在App根目录下面新建文件cordova-hcp.json,内容如下:
{
"autogenerated": true,
"content_url": "http://www.yourserver.com/www",
"update": "start"
}
6.将www目录下的.chcpenv文件修改为你的服务器:
{
"content_url": "http://www.yoursever.com/www",
"config_url": "http://www.yourserve.com/www/chcp.json"
}
7.在config.xml文件标签中添加:<chcp>
`<local-development enabled="true" />`
<config-file url="http://192.168.0.111/www/chcp.json" />
</chcp>
- 注意:这里的http://www.yourserver.com...均指你的存放热更新文件的服务器地址!(就是www文件)。
热更新项目
1.编译后打包apk或者执行ionic run android
2.打开命令行窗口两个
第一个窗口执行cordova-hcp server命令(更新热更新文件)
第二个窗口执行ionic build android命令打包(编译项目)3.打包成功后手机上安装APK,
4.下次程序修改后直接执行命令二,打开之前安装的手机app你会发现已经变成最新的了。
- 注意:不用复制 www 文件到 "http://www.yourserver.com/www" 中
- 因为:因为程序根目录.chcpenv文件内有个url配置的是ionic自己的临时服务器,每次执行cordova-hcp build会把www目录下的文件上传至整个服务器,并且支持热更新的apk会去上面请求。
{
"content_url": "https://ff01e9d1.ngrok.io",
"config_url": "https://ff01e9d1.ngrok.io/chcp.json"
}
更改{
"content_url": "http://192.168.1.145:8088",//你自己的地址
"config_url": "http://192.168.1.145:8088/chcp.json"
}
5.ionic cordova build android完之后,要执行cordova-hcp build进行配置更新
1、上午明白了几个关键思路和功能后,继续
cordova-hcp init
这个会初始化 www 目录下 chcp.json 主要信息
config 中 local-development enabled="false"
去掉本地调试(缺省是开着的)
sudo cordova-hcp server
这个用来本地测试
sudo cordova-hcp build
这个会重新生成 www 目录下的 chcp.json
cordova build
这个会重新生成 platforms ,主要chcp相关的是 assets/www 下的 chcp.json
2、当前项目上午已经 cordova-hcp init 过,所以,直接 cordova-hcp build