Android优化之修复 1、什么是修复呢? 修复是针对修复app中的bug的场景来定义的。   假设,现在用户使用的app有个方法报错了,那么解决这个问题,目前有 2 种方式:   (1):直接下载整个最新app重新安装; (2):使用增量更新的方式下载patch包合成新apk,重新安装;
转载 2023-10-30 15:43:39
95阅读
什么是修复修复就是一家发布的app存在bug需要修复,但是不想重新发布安装包,通过让用户下载补丁文件的方式解决。市面上常见的修复 修复主要两种思路像AndFix这种修复一般是 native 动态替换java层代码,就是将句柄 指向了新的修复好的方法 特点 即时生效、注解、NDK Robust 对每个函数都在编译打包阶段自动的插入了一段代码。类似于代理,将方法执行的代码重定向到其他方法中
转载 2023-11-25 12:57:41
180阅读
# SOT实现Swift修复原理 ## 简介 在移动应用开发过程中,修复是一种重要的技术手段,它可以在不重新发布应用的情况下修复已经部署在用户设备上的bug或者添加新功能。Swift是一种流行的iOS开发语言,但是它的运行时机制限制了传统的修复技术的应用。本文将介绍如何使用SOT(Source-code Overwrite Technique)来实现Swift修复的原理,并提供相应的代
原创 2023-11-05 03:21:10
993阅读
一、回顾框架原理本篇继续来看修复框架Robust原理,在之前的一篇文章中已经详细讲解了:Robust框架原理,因为这个框架不是开源的,所以通过官方给出的原理介绍,咋们自己模拟了案例和框架逻辑的简单实践。最后在通过反编译美团app进行验证咋们的逻辑实现是否大致不差。最终确定实践的逻辑大同小异。但是在上一篇文章末尾多次强调了,这个框架吸引我研究的不是他修复技术,而是他有一个技术点,就是如何在编译期
从Xcode 6.3 Beta Release Notes看出,Xcode 6.3 Beta包含了很多颇为值得开发者期待的改变,共计50多处改动,同时修改了Objective-C的语法,足见苹果对Swift语言的重视。而其代码迁移工具可以帮助开发者将其代码从Swift 1.1(Xcode 6.1)升级至Swift 1.2(Xcode 6.3),具体执行编辑菜单(Edit)->转换(Conve
转载 2024-05-20 06:20:24
104阅读
目录前言一、配置1.添加插件依赖2.集成SDK3.初始化SDK4.AndroidManifest.xml配置5.混淆配置二.使用1.编译基准包2.根据基准包生成补丁包3.上传补丁包四.多渠道打包五.一点注意前言记录一下Bugly 修复集成步骤,以及使用注意事项。Bugly目前采用微信Tinker方案。一、配置1.添加插件依赖工程目录下 build.gradlebuildscript {
转载 2023-08-11 16:32:21
174阅读
刚听朋友说bugly出修复了,抱着好奇的心发现居然已经那么久的事,居然不知道,结果打开文档的时候Tinker进入视野,当时就懵逼了,这不是微信的玩意嘛,看了下好像介入是比较简单点了。但是还是搞了好久,入坑了。。bugly修复文档进入http://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=201702130
转载 2023-09-21 21:12:53
192阅读
修复方案概述: QQ空间修复方案 RocooFix Nuwa HotFix native hook的方案 AndFix 阿里百川(未开源) 微信修复方案 Tinker_imitator(微信更新方案实践) tinker(微信官方) 手机QQ修复方案 QFix:推荐文章QFix探索之路——手Q热补丁轻量级方案 上述方案,关于修复都做了许多详细的介绍,对于眼馋而又不想踩坑的懒癌晚期患者,
转载 2023-11-03 12:45:48
163阅读
简介:iOS开发者交流群:642363427 所谓动态修补就是把能够导致app 崩溃的严重bug,提交新版本到appstore 审核速度太慢影响用户使用,这时候就可以利用 JSPatch 可以让你用 JavaScript 书写原生 iOS APP。 所谓动态修补就是把能够导致app 崩溃的严重bug,提交新版本到appstore 审核速度太慢影响用户使用,这时候就可以利用JSP
转载 2024-01-27 22:02:08
143阅读
前段时间修复这个词非常火,当时只是大体看了一下,今天抽空好好看了一下具体原理.什么是修复?简单的说就是用户不用重新下载一个新的apk安装,而是直接下载一个补丁包,通过补丁来替换一些出现bug的类, 当然下载补丁的过程用户一般是感觉不到的,表面上看是直接修复了bug.原理类似与插件开发,关于插件开发原理,看这篇Android插件原理剖析,其中介绍了一下java中的类加载器和android中的类加
转载 2024-03-08 12:56:29
74阅读
在腾讯直播学习该课程后,记录下学习笔记:修复简述1、什么是修复用一个简单的词汇来表述,就是补丁,为了修复某个问题/bug而单独出的一个更新包; 采用百度百科的说法: 修复补丁(hotfix),又称为patch,指能够修复软件漏洞的一些代码,是一种快速、低成本修复产品软件版本缺陷的方式。 修复(也称热补丁、修复补丁,英语:hotfix)是一种包含信息的独立的累积更新包,通常表现为一个或多个
转载 2023-09-04 20:55:43
13阅读
  (一)首先在终端 pod search JSPatch 接下来就可以自己pod进你需要引入的工程中,或者download到本地自己加到工程中搜索结果如下-> JSPatch (0.1.4) JSPatch bridge Objective-C and JavaScript. You can call any Objective-C class and
  修复方案概述:QQ空间修复方案 RocooFixNuwaHotFixnative hook的方案 AndFix 阿里百川(未开源)微信修复方案 Tinker_imitator(微信更新方案实践) tinker(微信官方)手机QQ修复方案 QFix:推荐文章QFix探索之路——手Q热补丁轻量级方案上述方案,关于修复都做了许多详细的介绍,对
注明:本文章是对阿里开放出的《深入探索Android修复技术原理7.3Q.pdf》进行阅读后的总结性文章,只包含个人认为有用的内容,目的是方便以后回忆或者分析问题,想深入学习可自行研究。附上原书http://pan.baidu.com/s/1dE7i8NJ三大修复原理简要1.代码修复1.1 即时生效:底层替代类中的老代码,并且无视底层的具体结构。 1.2 重启生效:基于类加载机制,重新编排了包
一、前言  任何程序都无法保证上线后不会出现紧急bug,选择的修复方式不同,其代价也大不相同。所谓修复,是相对于正常的版本迭代修复而言的,它可以及时在应用内下载补丁更新程序逻辑,修复bug;而不需要等到下一个版本发布。举个简单的例子,假如有一行代码的逻辑写错了,并且已经编译出APK,安装到了用户的手机上,此时有两种处理方式:等待下一个版本发布,其中修复了错误代码,即迭代修复给用户推送补丁,及时修
文章目录1 修复技术出现的背景2 修复技术简介3 插件化3.1 什么是插件化3.2 插件化例子3.3 新增界面、资源的插件4 修复技术4.1 类加载机制4.2 PathClassLoader和DexClassLoader4.3 修复技术的原理4.3.1 findClass()4.3.2 DexPathList、dexElement、dexFile4.4 分析干预类加载4.4.1 全量替换
            Bugly更新是腾讯推出的更新框架,更新是指无需到应用市场重新下载安装app,只需要在app内下载补丁包即可实现app的更新,主要用于app的bug修复或者少量改动。       大家在使用app(特别是游戏app比较常见)的时候应该都有过类似经历:打开app
转载 2024-01-25 10:34:31
122阅读
AndFix,全称是Android hot-fix。是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 6.0,并且支持arm 与 X86系统架构的设备。完美支持Dalvik与ART的Runtime,补丁文件是以 .apatch 结尾的文件。原理AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法;直接在native层
一、打基线包1、打开thinker-support.gradle文件,指定基线包的thinkerId、注释多渠道补丁: 2、打基线包: 完成后,在app的build的bakApk目录下会生成app-0411-11-00-41目录,里面的app-release.apk就是我们要的基线包 双击app-release.apk,可以看到此包的一些信息:二、修复基线包的测试bug三、打补丁包1、打开thin
转载 2023-10-05 14:41:00
163阅读
  修复是在应用的App包发布到市场之后,出现了Bug,无需替换包来进行在线更新的一种技术,对用户是无感知的。目前广义上有两种方案可以实现代码的替换,一种是类的替换,基于Classloader;另一种是方法的替换,而这两种方式各有优缺点。方法的替换:只能替换方法的内容,所以不能够对要patch的类进行方法的新增和删除;但同时,方法的替换可以在应用不重启的情况下实现。它包小、快速、功能单一、比较轻
  • 1
  • 2
  • 3
  • 4
  • 5