热修复 AndFix 阿里 apkpatch MD】的更多相关文章

Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录AndFix 简介使用案例配置初始化有问题的类生成补丁包加载补丁包更多介绍原理简介apkpatch 工具混淆安全补丁包的组成源码分析PatchManager 初始化AndFixManager 初始化SecurityChecker 初始化PatchManager.init 方法Pa…
1.1 基本介绍 我们先去github上面了解它https://github.com/alibaba/AndFix 这里就有一个概念那就AndFix.apatch补丁用来修复方法,接下来我们看看到底是怎么实现的. 1.2 生成apatch包 假如我们收到了用户上传的崩溃信息,我们改完需要修复的Bug,这个时候就会有一个新的的apk我们就叫它为new.apk,原来的那个有Bug的apk你也有我们就叫它old.apk.这个时候我们就可以利用阿里github上面提供的工具生成一个xxxx.apatch…
热修复主要用来修复代码.修复bug.添加独立的功能,他的原理主要是操作PathClassLoader.DexClassLoader. PathClassLoader是类加载器,DexClassLoader可以从.jar和.apk类型的文件内部加载classes.dex文件就好了.他们都是classloder的子类. classloder是什么呢?与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java cl…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录dexposed基本实现原理简介Dalvik 和 ART 虚拟机加载 so 库的逻辑findAndHookMethod 的执行过程支持的版本官方文档集成基本使用在指定方法前后注入逻辑完全替换某一指定方法用于热修复 dexposed GitHub 重要提醒: 1.此方案不支持ART…
APP热修复的概念: APP修复是针对修复app中的bug场景来定义的.当我们已上线的app出现bug的时候,我们想在用户不知情的情况下修复这个bug,那么就会用到热修复. APP热修复的实现原理: 首先,生成新版本的apk与旧版本的apk的差异补丁包文件: 其次,使用热修复框架的Api在Application中去尝试加载指定路径的补丁差异包: 最后,只需要将补丁差异包宝贝到对应路径,代开有bug的App,在Applcation创建的时候就会将补丁包文件加载到内存中并且替换对应的方法. 常用的热…
  文章地址:Android热修复之微信Tinker使用初探 前几天,万众期待的微信团队的Android热修复框架tinker终于在GitHub上开源了. 地址:https://github.com/Tencent/tinker 官方介绍:https://my.oschina.net/shwenzhang/blog/751618 接入指南:https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D…
当app上线后发现紧急bug,如果重新发布版本周期比较长,并且对用户体验不好,此时热修复就派上用场了.热修复就是为紧急bug而生,能够快速修复bug,并且用户无感知.针对热修复,阿里系先后推出AndFix.HotFix.SophFix,腾讯系也推出QQ空间超级补丁.微信Tinker.在这里,主要讨论是注入dex实现热修复. 注入dex的前提是需要dex分包,这里使用MultiDex进行分包,具体操作步骤如下: 1.导入依赖 compile 'com.android.support:multide…
阿里AndFix热修复框架简介 热修复原理: Android的类加载机制 Android的类加载器分为两种,PathClassLoader和DexClassLoader,两者都继承自BaseDexClassLoader PathClassLoader代码位于libcore\dalvik\src\main\Java\dalvik\system\PathClassLoader.java DexClassLoader代码位于libcore\dalvik\src\main\java\dalvik\sys…
我致力于最新的前沿安卓技术分析和使用教学,不打算将很多很深的东西,因为有多少人愿意沉下你的心境去学习难点?我一般只会简单提及.文字错漏在所难免还希望同学们喜欢 热修复介绍 热修复是什么? 如果你一个项目已经上线,出现了严重缺陷,那么你第一反应是推送新版本.那么问题来.老子刚下你的APP 你就叫我重新下载?啥东西!卸了.从而导致用户流量的减退.而热修复就是推送一个补丁文件到客户端(很小),用户打开应用时自动安装.是不是很棒? AndFix 热修复原理 已经翻译的源码分析 阿里github官网(英文…
AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86系统架构的设备.完美支持Dalvik与ART的Runtime,补丁文件是以 .apatch 结尾的文件. 原理 AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法: 直接在native层进行方法的结构体信息对换,从而实现完美的方法新旧替换,从而实现热修复功能. 添加依赖和混淆…
一.前言 最近腾讯弄出一个Tinker热修复框架,那么本文先不介绍这个框架,先来介绍一下阿里的一个热修复框架AndFix,这个框架出来已经很长时间了,但是看网上没有太多非常详细的讲解,这里就来做一次分析.正好项目中要使用到.首先这个框架是开源的:https://github.com/alibaba/AndFix 其实在最早的时候我已经分析了阿里的另外一个热修复框架:Dexposed框架,还不了解的同学可以点击这里查看:Dexposed框架原理解析以及使用 当时介绍这个框架的时候发现他的实现原理很…
热补丁介绍及Andfix的使用 Andfix热修复框架原理及源代码解析-上篇 Andfix热修复框架原理及源代码解析-下篇 1.不知道怎样使用的同学,建议看看我上一篇写的介绍热补丁和Andfix的使用,这样你才有一个大概的框架.通过使用Andfix,事实上我们心中会有一个大概的轮廓,它的工作原理,大概就是.所谓的补丁文件.就是通过打包工具apkpatch比对新的apk和旧的apk之间的差异. 然后让我们的旧包执行的时候.就载入它,把曾经的一些信息替换掉. 我们如今就抱着这个慷慨向去深入源代码探个…
本篇文章会与大家一起学习使用阿里的AndFix热修复框架,可以说AndFix是国内热修复技术的开山始祖,尽管现在阿里已经放弃了对这个项目的维护,但是后来很多的热修复技术都借鉴了这一框架的实现思路. 1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的. 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线…
虽然阿里的AndFix框架已经出来很长时间了,但是还不了解它的同学依然挺多,接下来就跟着我一起来到AndFix的世界里一起看看,如何达到不用重新安装app就可以修复bug. 1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的. 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线解决bugs,而不是重新…
腾讯最近开发出一个Tinker,阿里也有一个Dexposed框架,当然还有一个就是今天的主角热修复框架AndFix.接下来,我会从它的概念.原理.使用方法等为你详细介绍. 1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的. 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线解决bugs,而不是重新安…
关于阿里的开源热修复框架AndFix引起了广泛共鸣,受到了很多人的青睐.那今天就跟随我的步伐来详细了解一下AndFix的详细信息和使用方法.1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的. 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线解决bugs,而不是重新安装app的一种解决方案. 2.A…
当你的应用发布后第二天却发现一个重要的bug要修复,头疼的同时你可能想着赶紧修复重新打个包发布出去,让用户收到自动更新重新下载.但是万事皆有可能,万一隔一天又发现一个急需修复的bug呢?难道再次发布打扰用户一次? 这个时候就是热修复技术该登场的时候了,它可以让你在无需发布新版本的前提下修复小范围的问题.最近研究了下几个热修复的开源框架,其中Nuwa等框架的原理是修改了gradle的编译task流程,替换dex的方式来实现.但是可惜的是gradle plugin在1.5以后取消了predexdeb…
一直关注App的热修复的技术发展,之前做的应用也没用使用到什么热修复开源框架.在App的热修复框架没有流行之前,做的应用上线后发现一个小小的Bug,就要马上发一个新的版本.我亲身经历过一周发两个版本,真的折腾用户的节奏~~所以,要开始考虑引入热修复.下面记录使用开源框架阿里巴巴的AndFix过程. 实现的原理 这里说的不是热修复怎么实现修bug的原理,这里说的是怎么使用AndFix.如果你想了解更多的andFix实现原理,你可以参考下面的文章: https://github.com/alibab…
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner热更新)和阿里最新出品Sophix.它们在原理各有不同,适用场景各异.不过从技术上来说多数热修复框架是基于ClassLoader加载机制.下面是常见热修复框架的比较. 开通热修复服务 读者可以打开Sophix热修复的官网:Sophix官网1.注册阿里云账号,选择移动热修复服务 ,选择之后需要开通此功…
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner热更新)和阿里最新出品Sophix.它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题.下面是这几种技术方案介绍. 技术背景 一.正常开发流程 从流程来看,传统的开发流程存在很多弊端: ·重新发布版本代价太大 ·用户下载安装成本太高 · BUG修复不及时,用户体验太差 二.热…
阿里巴巴对Android热修复技术已经进行了长达多年的探索. 最开始,是手淘基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术,Dexposed.但这个方案由于对底层Dalvik结构过于依赖,最终无法继续兼容Android5.0以后ART虚拟机,因此作罢. 后来支付宝提出了新的热修复方案Andfix.Andfix同样是一种底层结构替换的方案,也达到了运行时生效即时修复的效果,并且重要的是,做到了Dalvik和ART环境的全版本兼容…
AndFix的github地址 AndFix 全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持Dalvik和ART Runtime. 原理 AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法.   原理-替换方法.png 使用教程 1. 添加依赖和混淆 compile 'com.alipay.euler:andfix:0.4.0@aar' }```    **混淆:**…
首先了解热修复是什么东西?? 就我自己简单的理解:就是不须要又一次打包 公布到市场 然后再让用户又一次下载就能够把一些小bug和需求通过补丁的形式进行改动. 然后如今的热修复方式有大致的三种: 1.dexposed   github https://github.com/alibaba/dexposed 2.andfix   github https://github.com/alibaba/AndFix 3.bsdiff  http://blog.csdn.net/lazyer_dog/art…
作为阿里巴巴开源的 Android 应用热修复工具——AndFix,帮助 Anroid 开发者修复应用的线上问题.Andfix 是 “Android hot-fix” 的缩写. 1.什么是AndFix? AndFix是阿里巴巴出的一个专门针对Android的热修复框架 ,那什么是热修复呢?就是不需要重新安装APK而达到修复bugs的目的. 看看阿里巴巴官方对AndFix的描述: 英文好的可以看官网说明文档(有翻译不妥欢迎指出) 1.AndFix是一个Android库,它是在线解决bugs,而不是…
1:需求背景 项目上线之后,发现BUG需要修复(比如安卓兼容性等测试难以发现的问题),频繁的更新影响用户体验 2:方案要求 静默下载,耗费流量少,打完补丁后立刻生效,不用重启apk 3:解决思路 3.1:使用andfix,打出差异包,使用补丁的方式安装3.2:缺陷:只能支持源码级别函数的修改(全局变量.新增.删除方法都是无效的) 4:修复BUG.创建差异包步骤 基于andfix原理,每次版本更新后,之前版本打的热修复补丁都会失效,这也符合我们上图的修复步骤. 因为每次热修复的修改,都会被合并到下…
博客原地址:http://blog.csdn.net/allan_bst/article/details/72904721 一.什么是热修复 热修复说白了就是"打补丁",比如你们公司上线一个app,用户反应有重大bug,需要紧急修复.如果按照通 常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布.这样带来的问题就是成本高,效率低.于是,热 修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代码.这样就省事多了,用 户体验也好.(如下图所示:Andr…
WeTest 导读 本文探讨了Android热修复技术的发展脉络,现状及其未来. 热修复技术概述 热修复技术在近年来飞速发展,尤其是在InstantRun方案推出之后,各种热修复技术竞相涌现.国内大部分成熟的主流APP都拥有自己的热修复技术,像手淘.支付宝.QQ.饿了么.美团等等. 目前能搜集到的资料,大多简单罗列每个方案的特点并进行横向比较,而其中技术发展的脉络往往被掩盖了.热修复技术从何而来,又将往何处去?在这些资料中都找不到答案. 我认为,走马观花地看一遍各家的热修复方案并不能找到答案,所…
热修复的特点:无需重新发版,实时高效热修复:用户无感知修复,无需下载新的应用,代价小: 修复成功率高,把损失降到最低. 一.热修复开源方案和使用情况 方案名称 方案开发公司 开发时间 Github星评 Robust 美团 2016年 54 Andfix 阿里 2015年 4994 Nuwa 个人开发者(dex文件补丁) 2015年 2588 Dexposed 不考虑,需要root权限     Amigo 饿了么(apk补丁) 2016年 1031 Tinker 微信(apk补丁) 2016年 7…
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题.本文希望通过介绍QQ空间补丁.Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案. 技术背景 一.正常开发流程…
吐槽之前先放一张大帅图. (md 这张图貌似有点小 不纠结这个了==) 有时候项目刚刚上线或者迭代 测试或者在线上使用测出一个bug来 真让人蛋疼 不得不重新改bug测试 打包混淆上线感觉就向findviewById一样让你无法忍受 热修复从15年开始火起来 关于热修复的理论知识基于QQ空间热修复的一片文章(后面我会附上这几天学习的了解 不想看吐槽的可以滑到最后面 没办法为了凑字 数不够150个字数不允许发表 难道这就可以阻挡我吐槽的 呸 是学习的热情了吗) 其实在学习热修复之前 我们还是有必要…