![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
热修复
文章平均质量分 80
BigSweetee
我还能学习更多
展开
-
tinker dex文件修复简单流程跟踪
上篇文章写了tinker的使用方法tinker使用本篇文章简单的分析一下dex文件的修复流程在几年前我对热修复的理解为新apk和旧的apk通过dexbiff算法对比生成差异包,差异包通过比对文件的MD5值,把修改过的文件打进差异包,差异包下发到服务器,下载到手机指定的路径,通过这个下载的路径生成dexclassloader,获取dexclassloader中的的pathlist,在获取Element数组,然后获取系统的pathclassloader和他的element数组,把这个差异包的Eleme原创 2021-04-30 10:50:47 · 400 阅读 · 0 评论 -
tinker热修复gradle接入
今天研究了一天的热修复,热修复,简单的来讲就是在不需要发包的情况下,修改你线上应用的bug,接入使用后对于我这种小白来说还是很神奇的,同时也考虑了一下,要不要接入我们的项目中,这样就不用因为一个小BUG而去再次发包了,不过,就算要接入项目中,也还有很多坑需要踩,tinker有俩种接入方式,一种命令行接入,一种是gradle接入,本篇只讲gradle接入,下篇我在补充命令行,主要用于自己做个记录,把踩原创 2017-03-13 17:43:41 · 6623 阅读 · 15 评论 -
robust原理解析
robust原理解析接上一篇robust使用打基础包的时候,每个类都会被添加public static ChangeQuickRedirect u;静态成员变量查看这个类的源码发现这个是一个接口public interface ChangeQuickRedirect { Object accessDispatch(String methodName, Object[] paramArrayOfObject); boolean isSupport(String methodNam原创 2021-04-27 15:48:40 · 1994 阅读 · 0 评论 -
美团robust使用
最近在整理各个热修复的使用方法和原理,第一个研究的是美团的robustgithub地址为robust基本的使用方法其实github上面有,但是我发现我集成花费了一天的时间,还有是有很多坑的所以才写了这篇文章记录一下首先是APP目录的build里面增加我红色箭头标记的带箭头的就是新增的出了增加美团的热修复包外,还增加了权限库和分包库multidexapply plugin: 'com.android.application'//制作补丁时将这个打开,auto-patch-plugin紧跟着co原创 2021-04-26 11:12:11 · 3889 阅读 · 6 评论 -
热修复,插件化基础之classloader
java的classloader类的加载过程##android的classloaderbootclassloader:主要用来加载android framwork层的字节码文件pathclassloader :加载已经安装的apk的class文件dexclassloader:用来加载指定目录的字节码文件basedexclassload:父类##双亲代理模型加载class之前,会...原创 2020-03-09 17:54:50 · 208 阅读 · 0 评论 -
插件化,热修复基础之class文件,dex文件
class文件基本概念:class文件,能被jvm识别,加载并执行的文件格式。一种8位字节的二进制流文件生成方式:1,ide自动build2,javac命令生成class文件执行方式:java命令执行class文件class文件结构加密,最小版本,最大版本,常量池,常量结构体,作用域,this标志,super标志,接口数量,接口,成员变量,成员变量结构体,方法数量,方法,属性数量,属...原创 2020-03-09 15:20:03 · 211 阅读 · 0 评论 -
插件化,热修复基础之虚拟机
###java虚拟机 jvmjvm整体结构##jvm内存空间java 栈区 它存放的是java方法执行时的所有的数据栈帧 一个栈帧代表一个方法 每个方法的调用就是一个栈帧在虚拟机栈中入栈和出栈本地方法栈:专门为nativie方法服务,也是通过栈帧调用方法区,存储被虚拟机加载的类信息,常量,静态变量等数据。java堆:所有通过new创建的对象的内存都在堆中分配,是虚拟机中最大的一块内...原创 2020-03-09 14:38:06 · 178 阅读 · 0 评论