移动端APP热更新方案(iOS+Android)】的更多相关文章

出自:http://www.cnblogs.com/Creator/p/7007694.html 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装. 重点是还会有原来的版本遗留,无论你怎么提示都有人放弃治疗,不愿意升级,强制不能使用体验又足够糟糕到让人不能启齿. 如果这是一个影响公司收入或者体验影响极其不好的Bug,那完蛋了,可能公司老板会对整个技术团…
为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装. 重点是还会有原来的版本遗留,无论你怎么提示都有人放弃治疗,不愿意升级,强制不能使用体验又足够糟糕到让人不能启齿. 如果这是一个影响公司收入或者体验影响极其不好的Bug,那完蛋了,可能公司老板会对整个技术团队的技术能力丧失信心,其对技术人员的伤害是致命的. 最后最致命的是: 有时候仅仅是因为不小心写错了…
本文转载自[http://creator.cnblogs.com/] 博客地址:Zealot Yin 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App.测试.向各个应用市场和渠道换包.提示用户升级.用户下载.覆盖安装. 重点是还会有原来的版本遗留,无论你怎么提示都有人放弃治疗,不愿意升级,强制不能使用体验又足够糟糕到让人不能启齿. 如果这是一个影响公司收入或者体验影响极其不好的Bug,那完蛋了,可能公司老板会对整个技…
PPT资源包含iOS+Android 各种方案分析:https://github.com/qiyer/Share/blob/master/%E7%83%AD%E6%9B%B4%E6%96%B0%E5%88%86%E4%BA%ABPPT.pptx 一 .热更新(热修复)产品背景 这里谈到的热更新都是指APP(不包含网页).APP按大类别可以粗略分为 应用 和 游戏.APP的开发周期是极其快速的,在实际开发流程中,我们总会有一些需求迫使我们短时间内快速上线,比如需求流程出错,程序员主观导致的一些bu…
iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET Weex…
http://blog.csdn.net/guofeng526/article/details/52662994 热更新”这个词,在Unity3D的应用下,是有些语义错误的,但是作为大家都熟知的一项技术,我们姑且这么叫它,相信很长时间内,大家依然还会这么叫,甚至有人叫它“暖更新”. 一.什么是热更新? 热更新,是对hot update或者 hot fix的翻译,计算机术语,表示在不停机的前提下对系统进行更改(摘抄一下): “hot就是热,机器运行会发烫,hot就是不停机的意思. 热更新,是个很形…
孙广东  2016.3.11 Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda •  什么是热更新 •  为何要热更新 •  怎样在iOS 上对Unity 应用进行热更新 •  支持Unity iOS 热更新的各种Lua 插件的对照 什么是热更新 • 广义定义 • 无需关闭server,不停机状态下修复漏洞,更新资源等,重点是更新逻辑代码. • 狭义定义( iOS热更新) • 无需将代码又一次打包提交至AppStore,就可以更新clien…
Unity应用的iOS热更新 •  什么是热更新 •  为何要热更新 •  怎样在iOS 上对Unity 应用进行热更新 •  支持Unity iOS 热更新的各种Lua 插件的对照 什么是热更新 • 广义定义 • 无需关闭server,不停机状态下修复漏洞,更新资源等,重点是更新逻辑代码. • 狭义定义( iOS热更新) • 无需将代码又一次打包提交至AppStore,就可以更新client的执行代码,即不用下载app而自己主动更新程序. • 现状 • 苹果禁止了C#的部分反射操作,禁止JIT…
参考:http://blog.csdn.net/guofeng526/article/details/52662994 http://blog.csdn.net/u010019717/article/details/50853207 “热更新”这个词,在Unity3D的应用下,是有些语义错误的,但是作为大家都熟知的一项技术,我们姑且这么叫它,相信很长时间内,大家依然还会这么叫,甚至有人叫它“暖更新”. 一.什么是热更新? 广义定义 无需关闭服务器,不停机状态下修复漏洞,更新资源等,重点是更新逻辑…
作者:solart 版权声明:本文图文为博主原创,转载请注明出处. 随着 React Native 的不断发展完善,越来越多的公司选择使用 React Native 替代 iOS/Android 进行部分业务线的开发,也有不少使用 Hybrid 技术的公司转向了 React Native .要说 React Native 最能吸引开发者的地方那就是其拥有前端的开发速度以及原生的体验. 1.序言 今天要跟大家探讨的是 React Native 的拆包及热更新方案,官方并没有很好的支持这一企业十分看…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,凭借其出色的性能,易用性,扩展性而广受好评. 而就在前天,腾讯宣布xLua开源到github上,引起了游戏开发圈的轰动,今天精神哥就来给大家介绍--手游热更新方案 xLua. xLua项目1月3日起正式对…
原文:http://www.sohu.com/a/123334175_355140 作者|车雄生 编辑|木环 腾讯最近在开源方面的动作不断:先是微信跨平台基础组件Mars宣布开源,腾讯手游又于近期开源了Unity3D下Lua编程解决方案——xLua.xLua,何方神圣?有哪些技术细节可以说道说道? 写在前面 xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能.易用性.扩展性而广受好评.现在 腾讯已经将xLua开源到GitHub. 20…
目前Unity的代码更新方案有很多,主要以lua为主. JSBinding + SharpKit 是一种新的技术,他做了两件事情: JSBinding将C#导出到 JavaScript (引擎是 Mozilla SpiderMonkey) 中,让你可以用 JavaScript 写代码,就好像 lua 一样 SharpKit(sharpkit.net)将C#代码翻译成 JavaScript 代码. 因此,他可以让你使用C#编译代码,之后一键转换成 JavaScript 代码并正常运行.如果你的项目…
转载请标明出处:http://www.cnblogs.com/zblade/ 前面两篇文章从头到尾讲解了C#热更新的一些方案,从程序域来加载和卸载DLL,到使用ILRuntime来实现安卓和IOS平台的DLL热更新.文章二中讲解了ILRuntime对于IL虚拟机在加载DLL的过程中的一些解构.那么今天收尾的文章,就来讲解一下如何基于这个虚拟机实现对于类,方法,属性的调用. 一.基于appDomain来加载类实现反射的调用 对于ILRuntime中的反射,大概可以分为三种类型:一种是ILRunti…
如何评价腾讯在Unity下的xLua(开源)热更方案? Unity 游戏用XLua的HotFix实现热更原理揭秘 腾讯开源手游热更新方案,Unity3D下的Lua编程 [Unity]基于IL代码注入的Lua补丁方案 另类Unity热更新大法:代码注入式补丁热更新 Unity代码热更新方案 JSBinding + SharpKit 首页 五种方案: 1.LUA(需要LUA与C#绑定,性能低,需要掌握两门语言) 2.ILRT(总体最佳方案) 3.JSB(类似LUA) 4.直接更dll(最好方案,但I…
作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的"松散耦合". 那需要松散到什么程度呢?那就是是在一个相对稳定的App"内核"基础上,让绝大部分的应用功能(不管是因为创新需要.…
转载请标明出处:http://www.cnblogs.com/zblade/ 最近研究了一下如何在unity中实现c#的热更新,对于整个DLL热更新的过程和方案有一个初步的了解,这儿就写下来,便于后续的深入调查和方案选择. 一.C# DLL的动态加载和卸载 既然要热更新,那么就是动态的加载c#的DLL,所以第一步就是研究如何实现DLL的动态加载和卸载. 在CLR Via C#中,对于DLL的加载有详细的讲解,这儿就不再长篇幅的讲解整个过程,简单的来说,在C#的工程中,都会生成一个默认的程序域ap…
老版本链接如下:http://www.cnblogs.com/answerwinner/p/4469021.html 新用户不要再使用老版本了. 新版本 JSBinding 将抛弃 SharpKit 转而使用 Bridge.NET(老版本仍然维护). 理由是 1. 把 C# 编译成 Js 后,Bridge 几乎100%确定转换后可运行. Bridge 在编译时不允许引用外部 Dll(System.dll也不行).允许使用的 C# Api 都是 Bridge 已严格测试过的.一般来说,编译能过,就…
上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用步骤: 1.安装CLI:npm install -g cordova-hot-code-push-cli 这里,需要详细描述一下CLI 提供的各种命令,后面我们将会用到.使用办法:cordova-hcp <command>,<command>包括: (1)init:为项目初始化参数,创…
开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github.com/nordnet/cordova-hot-code-push 另外一并介绍:cordova-hot-code-push-cli 作用:cordova-hot-code-push插件配套使用的命令行工具. GitHub地址:https://github.com/nordnet/cordova-…
移动端app开发 - iPhone/iPad/Android UI尺寸规范 本笔记抛去无用的前期分析什么的,全是干货,简洁干练 本笔记不单独针对 ios 或者 Android,两种都介绍,当然我们实际开发过程中,也往往是 Android一套,ios一套 (一)设计规范与设计流程 了解设计规范,熟悉 Android 和 ios 规范差别,了解界面中主要设计元素 关键词: ios 设计基础规范,Android 设计规范,常用界面尺寸,布局规范,图标规范,文字规范 设计规范可以很好保证产品一致性,提升…
WeTest 导读 CsToLua工具将客户端 C#源码自动转换为Lua,实现热更新,本文以麻将项目为例介绍客户端技术细节. 麻将项目架构 其中ChinaMahjong-CSLua为C#工程,实现麻将项目的主要业务流程.翻译工程的输入是C#项目生成的dll文件.其中Cecil负责分析类型 类成员关系 ,比如类字段函数结构,引用关系.类之间的继承关系等,ILSpy负责反编译函数体里的语句,比如条件语句,函数调用,算数运算等.下面逐个介绍具体的实现. Mono.Cecil Mono.Cecil:一个…
转载请标明出处:http://www.cnblogs.com/zblade/ 一.IOS对DLL热更新的禁止 紧接上文,继续对C#热更新的研究.上文中,已经说了如何基于appDomain来实现对DLL的加载和卸载,进一步,可以在unity工程中,将Dll打包成资源,通过Assembly.Load的方式加载DLL来实现更新.那么为什么IOS中就不能这样操作了呢? 推荐阅读文章: Mono为何能跨平台?聊聊CIL(MSIL) - 陈嘉栋 - 博客园 偷了我的热更新?Mono,JIT,iOS 这两篇文…
转载请标明出处:http://www.cnblogs.com/zblade/ 对于游戏中的热更,目前主流的解决方案,分为Lua(ulua/slua/xlua/tolua)系和ILRuntime代表的c#系.今天就来探究一下ILRuntime是如何实现热更的流程的,新手入门,个中有错误理解,欢迎指正. ILRuntime的原理 首先说一下lua的热更新基本过程,unity提供了AssetBundle的资源打包方式,这样可以通过资源的对比来更新最新的资源.而lua文件不需要编译,可以被打包进游戏的资…
目前由于我们项目的特定场景,app的主要问题在于如何做到可以频繁更新而不需要频繁发布,尤其是ios,发布app store的周期基本上是2周左右,虽然可以通过企业号解决,但是后期的打包,分发给用户仍较为麻烦,而且不是长远之计,android版本虽然可以通过自动更新的方式重新安装apk,但这种体验用户不一定能接受.这里有个方案可以参考下.   我们频繁更新的内容主要包括: 1 快速fix bug 2 快速增加新功能 3 快速发布活动   方案: 简单的说,就是在Cordova的每个页面调用一个服务…
IOS:Objective-C 和 JavaScript 的相互调用 iOS7以前,iOS SDK 并没有原生提供 js 调用 native 代码的 API.但是 UIWebView 的一个 delegate 方法使我们可以做到让 js 需要调用时,通知 native.在 native 执行完相应调用后,可以用stringByEvaluatingJavaScriptFromString 方法,将执行结果返回给 js.这样,就实现了 js 与 native 代码的相互调用.具体让 js 通知 na…
C#下Lua编程支持 xLua为Unity. .Net. Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用. xLua的突破 xLua在功能.性能.易用性都有不少突破,这几方面分别最具代表性的是: 可以运行时把C#实现(方法,操作符,属性,事件等等)替换成lua实现: 出色的GC优化,自定义struct,枚举在Lua和C#间传递无C# gc alloc: 编辑器下无需生成代码,开发更轻量: 更详细的特性.平台支持介绍请看这里. 安装 打开zip包,…
(Upgrade.h) #include <stdio.h> #include "cocos2d.h" #include "framework/utils/Utils.h" #include "framework/json/JSONObject.h" USING_NS_CC; #include "ide-support/SimpleConfigParser.h" #include "extensions/…
https://github.com/meta-42/ILRuntime 教程 https://ourpalm.github.io/ILRuntime/public/v1/guide/index.html…
Android热更新方案Robust 相信很多人都认识了解过 热修复.热更新.热补丁(对于这个技术也没有特别标准的一种叫法,下面我统一叫热更新),之后的一年里,各种热更新方案如雨后春笋般出现,比较耳熟能详的就有Nuwa.Tinker.Andfix 和 Dexposed 等等,他们之间的区别以及优缺点就不在这里讨论了,鉴于它们的实际使用和局限性,美团的开发团队就脑洞大开了. 就去年 Google 高调发布了 Android Studio 2.0,其中最重要的新特性Instant Run,实现了对代…