Android HotPatch 技术研究总结
本次HotPatch的研究主要基于一片文章:《 Android-HotPatch在线热补丁方案 》和一个实践,手机淘宝HotPatch项目。 特性(Features): 不用安装,直接修改当前APK的逻辑。 缺陷(Defect): 1,无法更改程序版本号码。 2,每次程序启动,都需要载入Patch。不能真正修改原始APK。 局限(Confine): 平台: API Level : [9,10]U[14-19] Android 2.3 - Android 4.X 中间不包含 Android3.X CPU: ARM 支持, x86不支持。 系统: 阿里云系统不支持。 虚拟机: Dalvik 支持, ART 不支持。 安全(Security): 在主APK应用此技术后,当无防范措施时,极有可能给不安全代码以可乘之机。特别注意!!! 1,打包apk必须使用主app签名文件签名; 2,主app对加载的patch apk做签名和无篡改校验 自手淘项目实践的一个简单HotPatch过程。 Hotpatch 的工作流程是: 1.实现一个从服务器端获取Patch信息的接口(上传本地客户端版本等信息,服务器好根据这些信息来判断是否有对应的Patch包),并将这个信息注入给HotpatchManager。 2.检测客户端是否可以支持。(Android L和Android M)目前都不支持,最低支持2.3