您的位置:首页 > 其它

初识 Tinker 热修复

2017-10-17 13:24 120 查看

         为什么使用热修复:线上程序出现Bug,在不想重新发布包让用户更新安装的情况下,可以使用热修复,让用户在不知不觉就修复了程序的问题.

       当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。

      这时候就提出一个问题:有没有办法以补丁的方式动态修复紧急Bug,不再需要重新发布App,不再需要用户重新下载,覆盖安装?

     虽然Android系统并没有提供这个技术,但是很幸运的告诉大家,答案是:可以,热修复

     最原始的热修复,只做了解:https://zhuanlan.zhihu.com/p/20308548?columnSlug=magilu
热修复Tinker官网:http://www.tinkerpatch.com/



1、Dexposed无法支持全平台,并不适合应用到商业产品中。

2、AndFix作为native解决方案,首先面临的是稳定性与兼容性问题,更重要的是它无法实现类替换,它是需要大量额外的开发成本的。
3、QZone方案主要问题是插桩带来Dalvik的性能问题,以及为了解决Art下内存地址问题而导致补丁包急速增大的。

    Tinker热补丁方案不仅支持类、So以及资源的替换,它还是Android 2.X-7.X的全平台支持。无需插桩,补丁大小也远远小于其他方案。Tinker已运行在微信的数亿Android设备上。

源码地址:  https://github.com/Tencent/tinker






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: