官网教程:http://developer.egret.com/cn/github/egret-docs/Native/native/hotUpdate/index.html

详细可看官网教程,我这里只是记录下实际操作过程,留个记录...

主要流程:

1 设置app加载模式

2 设置php文件

3 每次打新包,只需要上传服务器后,再修改php的game_code版本号,当app本地和php的game_code名称不一致时,就能实现热更新。

1 设置加载模式

默认为0。设置为1,表示启动app时,回去请求php,对比“ game_code.zip ”名称是否一致,不一致,就进行更新。

修改case 1处为自己的php地址。

关于game_code.zip名字

app本地是设置在主文件中

服务器设置在php里,具体见2 php文件部分。

2 php文件

修改$ip为自己php地址,我php访问链接是 “http://www.biliking.com/demo/hotupdate/hotupdate.php”,所以设置应该是”http://www.biliking.com/demo/hotupdate/”,不要忘了最后的斜杠。

再次每次发布新包后,修改 define('CASE_NAME','666')的版本号,我这里是666。

<?php
define('CASE_NAME', '666');
function startsWith($string, $pattern) {
return $pattern === "" || strrpos($string, $pattern, -strlen($string)) !== FALSE;
}
$json = array(); //不存在就false;
if (!startsWith(CASE_NAME, 'http://')) {
$ip = "http://www.biliking.com/demo/hotupdate/";
$root = $ip . CASE_NAME ."/game_code_".CASE_NAME. ".zip";
$update = $ip . CASE_NAME;
$json["code_url"] = $root;
$json["update_url"] = $update;
} else {
$json["code_url"] = CASE_NAME;
$json["update_url"] = dirname(CASE_NAME);
}
echo(json_encode($json));
?>

  

可以在浏览器中直接输入php访问地址,查看返回信息是否正确。如果格式不正确,是没法热更的。

注意发布的新包,需要新建一个版本号一致的文件夹,放在该文件夹内。而不是直接放在php同级目录下。

3 关于热更新的屎黄色界面

有热更的时候,会有一个存在一小段时间的屎黄色界面,初步推断,那是个填满界面的进度条。

这个可以不管,因为之前为了防止加载黑屏,会在顶层放一张图片,这张图片也会盖住这个屎黄色界面。

4 一些测试

4.1  game_code后缀不变情况下,修改代码是否会热更新?  不会。

4.1 game_code后缀不变情况下,修改图片是否会热更新?  不会。

4.2 game_code后缀变化情况下,修改图片,图片名称和大小不变,图片是否会更新? 会。

Egret打包App Android热更新(4.1.0)的更多相关文章

  1. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  2. Android热更新开源项目Tinker集成实践总结

    前言 最近项目集成了Tinker,开始认为集成会比较简单,但是在实际操作的过程中还是遇到了一些问题,本文就会介绍在集成过程大家基本会遇到的主要问题. 考虑一:后台的选取 目前后台功能可以通过三种方式实 ...

  3. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  4. 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新

    本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...

  5. android 热更新 tinker 从零开始到使用

    这几天项目完结了,闲来无事,想起来了以前研究的热更新,那个开源的只有nvwa.recoo,等,不是很好用,最近听说tinker开源一段时间了,用的人还挺多,决定研究一下! 首先进入了官方文档 http ...

  6. ionic2新手入门整理,搭建环境,创建demo,打包apk,热更新,优化启动慢等避坑详解

    onic官方文档链接:http://ionicframework.com/docs/ 如果是新的环境会有很多坑,主要是有墙,请仔细阅读每个步骤 文档包含以下内容: l  环境搭建 l  创建demo并 ...

  7. webpack 配置 (支持 React SCSS ES6 编译打包 和 模块热更新 / 生成SourceMap)

    1.首先是目录结构 |-node_modules/ #包文件 |-build/ #静态资源生成目录 |-src/ #开发目录 |-js/ |-index.js #入口文件 |-app.js #Reac ...

  8. Android热更新实现原理

    最近Android社区的氛围很不错嘛,连续放出一系列的android动态加载插件和热更新库,这篇文章就来介绍一下Android中实现热更新的原理. ClassLoader 我们知道Java在运行时加载 ...

  9. H5 App实现热更新,不需要重新安装app

    直接上代码吧,你竟然搜到了我的文章就应该知道了,为什么要热更新 //app热更新下载 //假定字符串的每节数都在5位以下 function toNum(a) { //也可以这样写 var c=a.sp ...

随机推荐

  1. [Django学习]入门

    1. 搭建开发环境 安装django 建议安装1.8.2版本,这是一个稳定性高.使用广.文档多的版本 pip install django==1.8.2 查看版本:进入python shell,运行如 ...

  2. 常用的百度API地图操作

    常用的百度API地图操作,包括模糊搜索,放大缩小,并支持移动端 效果图如下 完整代码: http://download.csdn.net/detail/jine515073/8778167

  3. Just Cause系列游戏品鉴

    没错, 这又是一个游戏点评, 因为实在没地写了, 想起来我还欠JC系列许多售后评价, 就专门写了这篇blog来总结下JC系列的特色, 以及它最新的游戏引擎apex, JC4月初的时候发布的, 虽然和3 ...

  4. WPF教程四:布局之DockPanel面板

    DockPanel:停靠面板 DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中.停靠面板类似于WinForm中控件的Dock属性.D ...

  5. linux访问ftp服务器命令

    在linux访问时输入 用户名 anonymous 密码直接回车可以匿名登录 如果传输非文本,先输入bianry,然后再get就可以了 比如 ftp> get 5-4.tif 227 Enter ...

  6. 公司内网成功实现WSUS在不连外网的条件下更新补丁包!

    微软的WSUS的命令行很有帮助! 为了便于管理,WSUS服务器中提供了一个命令行工具WSUSUtil.exe,你可以使用它完成一些在WSUS管理控制台中不能进行的任务,例如导入导出数据等等.WSUSU ...

  7. Hbase Rowkey设计

    转自:http://www.bcmeng.com/hbase-rowkey/ 建立Schema Hbase 模式建立或更新可以通过 Hbase shell 工具或者使用Hbase Java API 中 ...

  8. 关于用Spine制作骨骼动画的步骤

    步骤: 1.打开spine. 2.新建一个空项目. 3.点右边Tree下的Images模块,导入在自己的切片素材和原整图. 4.把原整图拖到场景中,点右下角Color改变原图的颜色,方便后面对照. 5 ...

  9. 关于Struts2有时候出现的莫名其妙的错误

    有的时候突然出现红色叉叉,但是又不知道哪里错了,解决方法: 1.刷新项目文件夹 2.重启MyEclipse

  10. Spring 父子容器

    必须要说的是,父子容器是通过设置形成的关系. 容器实现了 ConfigurableApplicationContext 或 ConfigurableBeanFactory 接口,这两个接口中分别有se ...