1.安装基本框架
npm install -g ionic@latest
npm install -g cordova ionic
验证版本号
ionic –version
cordova -version
2.新建ionic项目
ionic start myapp 会显示选项列表
tabs:创建一个选项卡项目
blank:创建一个空白项目
sidemenu:创建一个侧边菜单项目
super: 创建一个预制的完整项目,提供ionic开发最佳实践
conference:创建一个展示真是应用的项目
tutorial:创建一个基于ionic文档的教程项目
aws: 创建一个移动集成器启动项目
任意选择一个新建即可
3.进入项目文件夹
cd myapp
执行下面命令可以预览项目
ionic serve
正常显示后可以关掉服务Ctrl+C,此步骤只是保证ionic新建项目成功
4.ios目前已不支持热更新,所以只对Android平台进行设置

设置Android平台
ionic cordova platform add android
设置安卓版本需修改下面文件内容
platforms/android/project.properties
和platforms/android/CordovaLib/project.properties
中的target=“你有的sdk版本” 安装热更新插件
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
5.在config.xml配置文件中加入下面节点
<chcp>
<config-file url="http://192.168.1.203:8121/chcp.json" />
<native-interface version="1" />
</chcp>
第一个子节点是需要发布在iis上的文件地址
第二个子节点是当前版本号
还有其它配置此处不再罗列
6.新开一个终端执行下面命令
cordova-hcp server
如果能够正常输出类似
Running server
Checking: /ionic/myapp/www/
local_url http://localhost:31284
Warning: .chcpignore does not exist.
Build 2017.10.27-10.17.48 created in ionic/myapp/www
cordova-hcp local server available at: http://localhost:31284
cordova-hcp public server available at: https://5027caf9.ngrok.com

检查/项目名称/www 路径下 有chcp.json和chcp.manifest表示热更新服务启动正常
7.在项目根目录下新建模板 cordova-hcp.json
{
"content_url": "http://192.168.31.62:8121",
"autogenerated": true,
"update": "now"
}
以后发布时只需执行
cordova-hcp build命令,就可以把模板内容替换到chcp.json文件内,因为每次更新或者发布app都会使热更新服务重新生成chcp.json文件内容
8.构建iis,路径指向/项目名称/www 文件夹,也可以把www文件夹部署在你指定的位置。检查chcp.json文件是否能访问,若不能访问
针对iis7+
在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-”新类型”,添加一个文件类型:
关联扩展名:.json
内容类型(MIME):application/x-javascript
9.生成apk
ionic cordova build android
此时热更新服务不能停止,一个终端执保持热更新服务,另一个终端执行其它命令
生成后执行
cordova-hcp build 复制模板文件
然后通过iis访问地址,检查页面显示是否正常,json文件是否可以访问,json文件内的ip地址是否是iis的发布地址
在手机上安装此apk
10.对项目界面或者功能进行修改
然后对配置文件config.xml的chcp节点的版本号进行修改
<native-interface version="2" />
重新生成apk
ionic cordova build android
通过iis访问检查页面和功能是否修改
执行 cordova-hcp build 然后检查iis上的json文件是否修改
关掉手机上原来的程序,重新打开程序,可以看到页面或者功能已变更。有时候更新会有延迟。

琐碎的资料

1. http://localhost:8100/ionic-lab 可以看到模拟器

2. 新建模块命令 ionic g page login

3. 新建服务命令 ionic g provider MyData

4. 在虚拟机上执行命令 ionic cordova emulate android -l -c

ionic3 热更新发布步骤记录的更多相关文章

  1. ElasticSearch5.0+版本分词热更新实践记录

    前言 刚开始接触ElasticSearch的时候,版本才是2.3.4,短短的时间,现在都更新到5.0+版本了.分词和head插件好像用法也不一样了,本博客记录如何配置Elasticsearch的Hea ...

  2. Android代码混淆及项目发布方法记录

     Android代码混淆及项目发布步骤记录 本来整理了一份Android项目混淆与发布的文档,突然想到何不写篇博客,分享一下呢,如是便有了本文. Android代码混淆及项目发布步骤记录 一.清理 ...

  3. 深入理解xLua热更新原理

    热更新简介 热更新是指在不需要重新编译打包游戏的情况下,在线更新游戏中的一些非核心代码和资源,比如活动运营和打补丁.热更新分为资源热更新和代码热更新两种,代码热更新实际上也是把代码当成资源的一种热更新 ...

  4. 使用Fiddler劫持网络资源为前端开发助力(示例:Dynamic CRM 表单开发 也能热更新? )

    背景: 使用过vue开发的童鞋应该都知道,在开发vue项目的过程中,有个叫"热更新"的功能特别爽,在传统html开发到初次接触vue时,才发现原来前端开发可以这么香.热更新的表现形 ...

  5. 【笔记】Nginx热更新相关知识

    (以下学习笔记内容均摘自参考链接,仅供个人查阅)   1.inotify文件系统监控特性 Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如 ...

  6. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件

    上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...

  7. 安卓热更新之Nuwa实现步骤

    安卓热更新之Nuwa实现步骤 最近热更新热修复的功能在安卓应用上越发火热,终于我的产品也提出了相应的需求. 经过两天的研究,搞定了这个功能,在这里还要多谢大神们的博客,大神们的原理分析很到位,不过对于 ...

  8. ionic3应用的Android打包签名发布步骤

    版权声明:本文为博主原创文章,未经博主允许不得转载. 当我们的ionic应用开发结束之后,就要开始上线到应用市场,那么Android的发布步骤具体是怎么样的呢? 1)编译 运行命令行: ionic c ...

  9. Unity官方发布热更新方案性能对照

    孙广东  2016.3.11 Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda •  什么是热更新 •  为何要热更新 •  怎样在iOS 上对 ...

随机推荐

  1. Android中如何解决editText一进入activity就自动获取焦点的bug

    有时候我们在进入activity 的时候,EditText会自动聚焦 有人说搞个宽高 都为0dp的EditText 但是我们搞代码的肯定要从实际层面解决,这样更能说服人 所以只需要在EditText的 ...

  2. Steam饥荒

    存档回滚 D:\Program Files (x86)\Steam\userdata\***\219740\remote 巨人国是survival_数字,海难是shipwreck_数字,哈姆雷特是po ...

  3. XXX系统业务建模

    1.识别业务参与者 参与者包括管理员.填报人员.审核人员和领导.          2.识别业务用例(用例图展现) 3.详述业务用例(填报需求这一用例,以活动图详细展现如下) 4.建立业务对象模型

  4. Yii框架实现restful 接口调用,增删改查

    创建模块modules; 在main.php中配置文件:(1) (2)控制器层: namespace frontend\modules\v1\controllers;use frontend\modu ...

  5. python -- while循环,格式化输出,运算符,初识编码

    一.while循环 1.语法 while   条件: 循环体(结果) 如果条件为真,则直接执行结果),然后再次判断条件,知道条件为假,停止循环. while True: print('你是谁呢') 退 ...

  6. unity中鼠标左键控制摄像机视角上下左右移动

    enum RotationAxes { MouseXAndY, MouseX, MouseY } RotationAxes axes = RotationAxes.MouseXAndY; //@Hid ...

  7. H5-移动端实现滑屏翻页-原生js/jquery

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. windows下安装rabbitmq的步骤详解

    (仅作为个人的备忘记录) Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlang.通过下面两个连接可以下载安装最新的版本: 下载并安装Eral ...

  9. go web framework gin group api 设计

    假如让你来设计group api, 你该怎么设计呢? group api 和普通api的区别在于前缀不同,如果group api的版本为v1.0 那么相对应的url为/v1.0/xxx, 如果是普通a ...

  10. JAVA学习笔记系列4-Eclipse版本选择

    下载Eclipse需要根据安装的JDK的版本来决定是安装32位还是64位,不是根据操作系统选的.