ionic3 热更新android篇

这热更新简直了,其实看网上配来配去就这几步,但自己一配就立马遇上很多问题,主要还是细节方面处理不够到位。索性自己也开一篇,防止自己忘了。

  1. 进入自己的ionic项目根目录下 启动 ionic服务 ionic serve

  2. 安装ionic native 热更新插件

    1
    2
    3
    ionic cordova plugin add cordova-hot-code-push-plugin
    ionic cordova plugin add cordova-hot-code-push-local-dev-addon
    npm install -g cordova-hot-code-push-cli

    当然了还要确保自己已经安装了android平台(没安装可以执行 ionic cordova platform add android

  3. 在config.xml配置文件中加入下面节点

    1
    2
    3
    4
    <chcp>
    <config-file url="http://192.168.1.76:8121/chcp.json" />
    <native-interface version="1" />
    </chcp>

    上面那个地址是你远程服务器存放www文件夹路径的地址 ,当然我这个地址http://192.168.1.76:8121是通过http-server -p 8121 在www目录下开服务拿的地址。是本地的一个服务。

  4. 热更新服务开启 cordova-hcp server 还有如果运行命令正常www目录下会有 有chcp.json和chcp.manifest文件出现。到这一步你就知道为什么第三步要配这个地址了。

  5. 在项目根目录下新建模板 cordova-hcp.json

    1
    2
    3
    4
    5
    {
    "content_url": "http://192.168.1.76:8121",
    "autogenerated": true,
    "update": "now"
    }

    这一步配置完后急的访问下,
    http://192.168.1.76:8121 访问的是ionic项目的首页
    http://192.168.1.76:8121/chcp.json 也要能访问到

  6. 以后发布执行cordova-hcp build命令,就可以把模板内容替换到chcp.json文件内,因为每次更新或者发布app都会使热更新服务重新生成chcp.json文件内容
    值得注意的是,这条命令一运行,热更新服务的运行窗口也会报相应的日志
    Screenshot 2018-02-16_20-10-53.png

可见这条命令不仅生成chcp.json内容这么简单。然后再说我发现的一个问题,执行ionic serve 就会chcp.json又改回原来的了,所以打包build的时候要小心一点。

  1. build安卓包 ionic cordova build android
    到这一步,编译完android包以后记得再看一下配置,这回要看app里面的。
    Screenshot 2018-02-16_20-17-13.png

别又是什么ngrok内网穿透的地址,这就不好玩了,不对的话,把www里面的chcp.json内容复制过来替换一下。

8.最后一步就直接打开安装好的app了,改一下html内容,用ionic serve 编译一下,把app关掉重新开一下,就可以看到热更新改的东西了。
注意:我这边测试热更新是用模拟器的,用真的小伙伴注意下你的地址是不是手机可以访问哦!


ionic3 热更新android篇
http://arch94.github.io/2018/03/18/ionic3-热更新android篇/
作者
Arch Sun
发布于
2018年3月18日
许可协议