Dexposed

移动端APP热更新方案(iOS+Android)

我与影子孤独终老i 提交于 2020-03-30 07:17:53
出自:http://www.cnblogs.com/Creator/p/7007694.html 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。 重点是还会有原来的版本遗留,无论你怎么提示都有人放弃治疗,不愿意升级,强制不能使用体验又足够糟糕到让人不能启齿。 如果这是一个影响公司收入或者体验影响极其不好的Bug,那完蛋了,可能公司老板会对整个技术团队的技术能力丧失信心,其对技术人员的伤害是致命的。 最后最致命的是: 有时候仅仅是因为不小心写错了一行代码,就让所有的加班都付之东流,苦不苦,冤不冤,想想都苦。 还有一种剧情是研发总监把锅甩给测试团队,测试不过关,测试摊摊手说我也不是神啊,总会有漏网之鱼. 那能不能神不知鬼不觉再没有产生较大影响前把bug快速修复了呢? 热更新的行业情况 先来说说Android 并不是因为Android更有料就先说他,而是它的用户量级比Iphone大,我们写文章也是讲究大数据分析的不是.. Andoid端在15年热补丁就比较火,先后出现了Dexposed、AndFix,Qzone超级补丁的类Nuwa方式,微信的Tinker, 大众点评的nuwa、百度金融的rocooFix,

Android HotPatch 技术研究总结

柔情痞子 提交于 2019-12-07 02:47:39
本次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