Freeline

Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品,也可以从 Freeline 官方主页来获取更多的信息。

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。
Download
1.配置 project-level 的 build.gradle,加入 freeline-gradle 的依赖:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.4'
    }
}

2.然后,在你的主 module 的 build.gradle 中,应用 freeline 插件的依赖:

apply plugin: 'com.antfortune.freeline'

android {
    ...
}

最后,在命令行执行以下命令来下载 freeline 的 python 和二进制依赖。

Windows[CMD]: gradlew initFreeline
Linux/Mac: ./gradlew initFreeline

Usage
Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

在 Android Studio 中,通过以下路径 Setting → Plugins → Browse repositories,搜索“freeline”,并安装。
这里写图片描述
直接点击 Run Freeline 的按钮,就可以享受 Freeline 带来的开发效率的提升啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值