android 热补丁功能实现初探<一>

最近一直在搞android 热补丁,有一些心得体会,抱着好记性不如烂笔头,把自己的体会写下来。

首先来看一下技术选型,现有可以达到热补丁效果的技术方案有一些,dynamic-load-apk,andfix,dexposed,H5,dex 包动态加载。

1.对于dynamic-load-apk 这是一个非常强大的开源框架:https://github.com/singwhatiwanna/dynamic-load-apk 它的作用我列举一些我要用到的对比项:

            1.支持动态发布新功能

             2.可以解决65535的限制

             3.插件化管理项目更方便 等等

2.andfix,这是阿里新出的一个开源项目,用于动态修复补丁:https://github.com/alibaba/AndFix
             1.支持动态修复线上bug

3.dexposed,这是阿里新出的一个开源项目,用于动态修复补丁:https://github.com/alibaba/dexposed,阿里的hotPatch项目 就是基于这个来做的,
             1.支持动态修复线上bug

      2.支持资源文件的替换

      3.支持发布新功能

              4.支持动态后台数据采集 等等

4.H5,这个我就不多讲了,他的优势在于开发的成本,不过对于android 来说,他的适配型受到很大的挑战,现有的如果只是做展示效果,可以用它来做,如果需要有很多的交互,这个做起来很麻烦,不过阿里现在研究另外一个项目:https://github.com/alibaba/weex,一旦这个项目成熟的话,app编码方式,将随之改变。

5.dex 包动态加载,这个功能有点类似hotfix,不过两个的实现方式不一样,hotfix 实现的是运行时替换方法,达到修复的功能,而后者 是在dex 的加载时候,用新的class 替换老的class ,已达到修复的功能。

我本人选择的是dexposed,它的功能强大,另外一个阿里正在使用这个框架,相信它会很快的被推广出去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值