asysbang

标题: 四大组件热修复 [打印本页]

作者: admin    时间: 2019-11-29 11:04
标题: 四大组件热修复
热修复包含的几个部分

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








欢迎光临 asysbang (http://asysbang.com/) Powered by Discuz! X2.5