修复分为两种:阿里系:从底层C二进制来入手。腾讯系:从Java类加载机制来入手。什么是修复? 一般bug修复,都是等下一个版本解决,然后发布新apk。 修复:可以直接在客户已经安装app当中修复bug。本文采用Java类加载机制来实现修复实现原理:Android类加载器在加载一个类时会先从自身DexPathList对象种Element数组种获取(Element[]dexE
# Android SO替换更新实现指南 作为一名经验丰富开发者,我将会教你如何实现Android SO替换更新。首先我们来看一下整个流程: | 步骤 | 操作 | | -------- | -------- | | 1 | 下载新SO文件 | | 2 | 备份旧SO文件 | | 3 | 替换旧SO文件 | | 4 | 重启应用程序 | 下面我将详细介绍每一步需要做什么以及所需
原创 2024-06-19 06:56:58
456阅读
前言这篇算是我2021年第一篇,开个好头。这次聊主题是修复。一、简介1、分类:代码修复资源修复动态链接库修复2、修复框架:阿里系AndFix、Sophix;不支持类替换,支持即时生效,方法替换腾讯系Tinker、QFix;不支持即时生效,其他都支持美团Robust等;不支持类替换,支持即时生效,方法替换二、资源修复很多资源修复框架都参考了Instant Run 原理。因此Insta
转载 2023-07-10 13:18:41
212阅读
什么是修复修复:让应用能够在无需重新安装情况实现更新,帮助应用快速建立动态修复能力。 早期遇到Bug我们一般会紧急发布了一个版本。然而这个Bug可能就是简简单单一行代码,为了这一行代码,进行全量或者增量更新迭代一个版本,未免有点大材小用了。而且新版本普及需要时间,以Android用户升级习惯,即使是相对活跃微信也需要10天以上时间去覆盖50%用户。使用修复技术,能做到1天覆盖7
转载 2023-08-24 10:02:36
93阅读
一般产品上线周期比较长,而且如果不是强制更新,无法做到100%用户都更新,如果上线之后,产品出现bug,那么怎么办?一般都是再发一个版本,或者等到下一个版本再解决。如果再发一个版本,显然是不靠谱,用户安装也有厌倦时候,说不定直接把app给卸载了,而且给用户体验也不好。如果等到下一个版本再修复,那么用户每次使用都出现这个bug,显然是不能接受,这都造成用户量流失,给我们用户造成不良影响。
转载 2023-07-26 16:47:53
121阅读
上篇讲到代码修复技术分为两类:底层替换修复和类加载修复。这篇主要是对这两者底层原理学习。一、底层替换修复原理1. 即时生效Andfix简单概括下Andfix:众多修复技术中,Andfix做到了非常炫酷即时生效功能,无需重启应用就可以修复类中方法,同时他也存在无法适配某些机型缺点。他核心方法在于replaceMethod函数中:我们来看一下Andfix修复大概流程:上面能看到
阿里云修复官网地址移动修复(Mobile Hotfix)是阿里云提供全平台App修复服务方案。产品基于阿里巴巴首创hotpatch技术,提供最细粒度修复能力,让您无需等待实时修复应用线上问题。主要解决问题产品已有功能,出现问题,无需发版,即可发补丁,实时修复。存量功能微调HotFix总体来说最大优势在于:补丁即时生效,不需要应用重启;补丁包同样采用差量技术,生成PATCH体积小;对
转载 2023-09-13 21:24:35
234阅读
文章目录一、什么是修复?二、主流修复框架对比1.底层替换方案2.类加载方案3.两种方案融合三.Tinker修复方案1.Tinker修复优势与不足2.Tinker修复原理3.Tinker接入流程4.Tinker修复流程总结 一、什么是修复? 对于许多移动开发者而言,发版本更新app是最常见操作之一。如果刚发布上线新版本发现有BUG需要修复时候,对于传统开发流程需要经过以下过程
替换so文件 发现nginx动态模块无法更新,于是研究了一下相关问题。 代码准备 reload.c, 启动文件,用来模拟正在运行程序,不断重建加载so.so文件 #include <dlfcn.h> #include <stdio.h> typedef void (*F)(); int my_dlopen() { void* h = d
转载 2024-08-01 16:46:16
75阅读
我们接上篇 内容继续讲 (1)工程分离什么叫工程分离呢,就是要把你游戏包(后面简称 #主工程#),和你更新工程(后面简称 #更新工程#) 分离开。首先我先说一下 ,我为什么要这么做:原因:从github 上更新下来 jsb工程,把所有的更新代码写在了unity 里面了,然后在 更新工程里面 去引用这些cs 文件。在我看来 不是真正解耦,有些潜在风险(直觉 ~~!)怎么做: 很简
基于eclipse IDE做Java开发,你不用jrebel就太可惜了! 为什么要用jrebel? 因为它能实现更,就是你不需要重启程序,就能看到增加,修改,删除代码后效果,减少了重启次数,大大提升了开发效率! 我是做游戏开发,下面是我经验。 不用jrebel之前,我和前端调试功能是这样,报错了,我就修改代码,然后重启,一般一次重启要花1分钟左右,重启后再调试发现还有问题于是我继续修
转载 2023-07-20 10:18:16
5阅读
xlua是由腾讯维护一个开源项目,我们可以在github上下载这个开源项目并查看一些相关文档官网:https://github.com/Tencent/xLua配置文档:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/hotfix.md常见问题解答:https://github.com/Tencent/xLua/blob/m
转载 2024-05-10 20:53:45
166阅读
在学习异步加载前应该学习一下Untiy中如何进行性能分析为什么更新要学习性能分析?在更新过程其实也就是一种资源加载过程,而涉及到资源加载就不得不提性能分析。因为资源加载通常是异步加载,如果把资源都统合在一起加载游戏界面就会卡住,这是我们不希望发生事情。Untiy中性能分析工具有Profiler。打开方式 Window->Analysis->proflier.Profil
在第一部分中,我们演示了N加X升级功能,该功能允许在不停止服务情况下更换binary文件,非常实用。然而,在执行NGXbinary文件升级过程中,我们仍可能遇到各种问题,如老work进程难以终止,或者新word进程在升级后出现故障,这时需要考虑回滚。或者在升级NGX文件后,可能会发现一些预期功能或配置文件指向出现错误。接下来,我们将了解热升级具体流程。   首先,替换旧NGX为
原创 4月前
0阅读
声明:图片来自  github:https://github.com/russelltao/geektime-nginx 升级完整流程在nginx不停止服务情况下,更换它二进制文件,这个功能非常有用,但我们在执行nginx 二进制文件升级过程中,还是可能会遇到很多问题,比如老worker进程一直退不掉,新worker进程升级以后出现了新问题,我们要考虑回
转载 2024-08-23 12:50:31
44阅读
一    更新定义更新:也即'平滑升级',指在nginx'软件更新'情况下'不终止'nginx'对外提供服务',业务'无损',用户'无感知' 备注: 只适合用于'源码间安装升级' ++++++++++++'nginx相关操作原理'++++++++++++ nginx 实际上上通过'信号量'去'控制进程',平时所有的'关闭、重启'等操作原理都是通过'不同信号
转载 2024-02-24 07:30:11
596阅读
部署(方案一)1、查看源编译参数升级一般是添加新模块,或者升级版本,所以要参考以前编译模块,如果不添加,那么以前模块就不 能使用了[root@localhost ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
1.nginx平滑升级部署),版本回退所谓升级也叫做部署,或者平滑升级,也就是说,在不停止nginx服务情况下,完成nginx升级工作。但是这里有一个注意点,就是使用这种方法有一个前提,前提就是你在启动nginx时使用是nginx二进制文件绝对路径,而不是直接在命令行中输入"nginx"方式启动nginx服务,不通过绝对路径启动方式通常是为了方便,配置了nginx相关
转载 2024-08-16 20:10:49
67阅读
1、打开配置 2、写入pid 程序入口main()函数里写入pid 3、测试升级 1、编写代码,在beego应用controller中Get方法实现大概如下: 2、打开两个终端一个终端输入:ps -ef | grep 应用名一个终端输入请求:curl "http://127.0.0.1:8080
转载 2019-09-16 15:04:00
249阅读
2评论
一、升级流程1、将旧nginx文件换成新nginx二进制文件(注意备份);2、想master进程发送USR2信号;3、master进程修改pid文件名,加后缀.oldbin;4、master进程用新nginx文件后启动新master进程5、向老master进程发送WINCH信号,关闭老worker进程;6、回滚:向老master发送HUP信号,向新master发送QUIT;二、升级过程#版本n
原创 精选 2019-05-12 09:05:38
5958阅读
2点赞
  • 1
  • 2
  • 3
  • 4
  • 5