随笔分类 -  android 热修复,热部署

Android HotFix
摘要:对于热修复无非就是两大类,一类是tencent代表的classloader模式的,另一类是阿里系代表的底层方面替换。 下面以本人的经验介绍下微信的tinker接入: 命令行接入方式; gradle接入方式 1. 核心库引入,在你应用的app模块下build.gradle文件加入 4. proguar 阅读全文
posted @ 2019-06-06 12:20 linghu_java 阅读(1016) 评论(0) 推荐(0)
摘要:简介 Nuwa是比较流行的一种Android热补丁方案的开源实现,它的特点是成功率高,实现简单。当然,热补丁的方案目前已经有很多了,AndFix, Dexposed, Tinker等,之所以要分析Nuwa,是因为它代表了一种热修复的思想,通过它可以窥探到很多这方面的知识,包括更进一步的插件化。 Nu 阅读全文
posted @ 2019-02-22 16:46 linghu_java 阅读(2120) 评论(0) 推荐(0)
摘要:阿里巴巴对Android热修复技术已经进行了长达多年的探索。 最开始,是手淘基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术,Dexposed。但这个方案由于对底层Dalvik结构过于依赖,最终无法继续兼容Android5.0以后A 阅读全文
posted @ 2018-10-15 21:49 linghu_java 阅读(993) 评论(0) 推荐(0)
摘要:Android上的热修复框架 AndFix 大家都很熟悉了,它的原理实际上很简单: 方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代 阅读全文
posted @ 2018-09-21 11:56 linghu_java 阅读(10787) 评论(0) 推荐(0)
摘要:一、前言 最近腾讯弄出一个Tinker热修复框架,那么本文先不介绍这个框架,先来介绍一下阿里的一个热修复框架AndFix,这个框架出来已经很长时间了,但是看网上没有太多非常详细的讲解,这里就来做一次分析。正好项目中要使用到。首先这个框架是开源的:https://github.com/alibaba/ 阅读全文
posted @ 2018-09-18 20:05 linghu_java 阅读(299) 评论(0) 推荐(0)
摘要:转自:https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a; https://www.cnblogs.com/purpleraintear/p 阅读全文
posted @ 2018-09-18 15:40 linghu_java 阅读(1010) 评论(0) 推荐(0)
摘要:前言 前段时间,Android平台上涌现了一系列热修复方案,如阿里的Andfix、微信的Tinker、QQ空间的Nuva、手Q的QFix等等。 其中,Andfix的即时生效令人印象深刻,它稍显另类,并不需要重新启动,而是在加载补丁后直接对方法进行替换就可以完成修复,然而它的使用限制也遭遇到更多的质疑 阅读全文
posted @ 2018-09-18 10:44 linghu_java 阅读(1222) 评论(0) 推荐(0)
摘要:AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发版本的情况下修复线上的bug。支持Android 2.3 到 6.0。 andfix的github地址: https://github.com/alibaba/AndFix AndFix 阅读全文
posted @ 2018-09-12 17:28 linghu_java 阅读(1564) 评论(0) 推荐(0)
摘要:一、前言 上一篇博客中,我们通过介绍dex分包原理引出了Android的热补丁技术,而现在我们将解决两个问题。 1. 怎么将修复后的Bug类打包成dex 2. 怎么将外部的dex插入到ClassLoader中 二、建立测试Demo 2.1 目录结构 2.2 源码 activity_main.xml 阅读全文
posted @ 2018-03-31 18:11 linghu_java 阅读(1427) 评论(0) 推荐(0)
摘要:一、分包的原因: 当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方法数量过多,编译时出错,提示: Conversion to Dalvik format failed 阅读全文
posted @ 2018-03-21 10:54 linghu_java 阅读(3817) 评论(0) 推荐(1)