asysbang

 找回密码
 立即注册
查看: 2901|回复: 0
打印 上一主题 下一主题

四大组件热修复

[复制链接]

513

主题

2

好友

6404

积分

管理员

Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

最佳新人 活跃会员 热心会员 推广达人 宣传达人 灌水之王 突出贡献 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2019-11-29 11:04:02 |只看该作者 |倒序浏览
热修复包含的几个部分

1.dex文件,这个核心就是用dexclassloader

2.资源文件,核心就是AssetManager

3.四大组件(AndroidManifest), 核心就是hook侵入ams的方法,启动没有注册的activity或者service


AndroidManifest.xml编译之后是独立存在的,所以需要去反编译AndroidManifest.xml(当然也可以手动生成patch文件,不经过编译的话就可以直接读取)

反编译xml文件,可以参考axmlprinter这个开源项目

hookservice和hookactivity差不多,有几个不同:
1.msg.what = 114 和115 不是原来的100  (LAUNCH_ACTIVITY = 100;CREATE_SERVICE=114;SERVICE_ARGS=115)
2.115消息中,原来是替换intent,现在需要替换info.name

具体实现可以参考github
另外可以考虑参考应用安装时解析过程,实现二次安装(补丁安装)
研究tencent的Shadow框架

####ContentProvider#####









1



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|aSys-帮 ( 京ICP备13033689号 )

GMT+8, 2024-10-7 00:18 , Processed in 0.043096 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部