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. 『Python CoolBook』使用ctypes访问C代码_上_用法讲解

    一.动态库文件生成 源文件hello.c #include "hello.h" #include <stdio.h> void hello(const char *na ...

  2. 页面检测网络外网连接- 网页基础模块(JavaScript)

    方法一 html 添加图片标签 加载外站图片 <img id="connect-test" style="display:none;" onload=&q ...

  3. django2_开发web系统接口

    1.单独创建.../sign/views_if.py文件,开发添加发布会接口 from django.http import JsonResponse from cmdb.models import ...

  4. zabbix3.4.7Web页面监控

    1. 新增Web monitoring 2. 新增一个触发器Trigger 点击“Insert”以后,完成后点击页面下的Add之后,可以看见如下 3. 测试-检测告警效果 接下来,我在Nginx上将i ...

  5. python之路-----网络编程

    一:客户端/服务端j架构(C/S架构) 在生活中,最常见的C/S架构即是APP和网页服务器这个架构.Client和Server之间利用网络来进行通信,客户端和服务器端的程序不同,用户的程序主要在客户端 ...

  6. python魔术方法(__init__,__call__,被双下划线包围的方法)

    转载link:http://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-metho ...

  7. Java基础-方法

    方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 注意: 在一些其它语言中方法指过程和函数.一个 ...

  8. javascript 跨域请求详细分析(终极跨域解决办法)

    自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面.个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间. ...

  9. kafka consumer重复消费问题

    在做分布式编译的时候,每一个worker都有一个consumer,适用的kafka+zookeep的配置都是默认的配置,在消息比较少的情况下,每一个consumer都能均匀得到互不相同的消息,但是当消 ...

  10. Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件

    1.根据路径获取制定文件类型的文件: 这里写一个类,调用了打开路径的方法:using UnityEngine;using System;using System.Collections.Generic ...