Freeline - Android平台上的秒级编译方案

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


摘要:

Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。

Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。

Freeline能够为Android开发者节省很多喝杯咖啡的时间 : )

Freeline Insights

Freeline将整个编译过程拆分成多个小模块,根据模块间的依赖关系并发进行编译任务。它可以对所有编译缓存文件做到充分地利用,真正地做到了“增量”编译。同时,它也提取了buck的部分组件(dx与DexMerger),来加速构建流程。Freeline会在app运行时启动一条独立进程来运行Socket Server以进行开发机与app的通信,同时也能确保即使在app出现crash之后,仍然能够使增量编译持续生效。

Freeline是通过multi-dex的方案来实现Java代码的增量更新的。与此同时,我们也专门对aapt工具做了深度优化,给出了独立的FreelineAapt资源打包工具用来生成增量的资源包以及加快资源包的打包速度。运行期的资源替换,Freeline中使用了Instant-Run的方案。除此之外,Freeline也支持运行期动态更新so文件。

Freeline会根据代码文件的变更情况,自动在全量编译与增量编译中进行切换。

实际上,Freeline可以在经过简单的改造之后,作为线上热修复方案,通过动态下发增量资源,来对应用进行修复或者资源替换。经过压缩后的增量资源通常都会在100kb以下,用户可以在移动网络的环境下直接接收到热补丁。蚂蚁聚宝已经基于Freeline打造了完整的热修复框架,应用于线上问题修复以及A/B Test。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: android