更新:freeline 官方有了doc:https://www.freelinebuild.com/docs/
最近在浏览github trending的时候,发现freeline连续几天上榜,freeline刚开源的时候,试用过一次,当时apt和lambda都不支持,所以就放弃了。看了freeline最近的update log,发现apt、databinding等好多特性都开始支持了,非常开心地试用了一下,非一般的感觉,所以安利给大家。
概述
Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。
Freeline能够为Android开发者节省很多喝杯咖啡的时间 : )
具体原理的话可以参考中文原理说明
基本使用
- 在app gradle中配置:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.8.2'
}
}```
2. 在moudle gradle中配置
apply plugin: 'com.antfortune.freeline'
android {
freeline {
hack true
//如果配置了多Flavor,可以在这里指定编译的Flavor
productFlavor "develop"
}
}
更多的配置可参考[Freeline DSL References](https://github.com/alibaba/freeline/wiki/Freeline-DSL-References)
3. 命令行执行
首先执行
./gradlew initFreeline
然后第一次全量编译
python freeline.py -f
之后就可以愉快地增量编译了,速度之快,啧啧啧
python freeline.py
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/1407686-fb087b4e472310e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)用时1.6秒,加上界面重新启动1,2秒,一般5秒可以看到修改的效果,幸福过倍增。
4. 插件化工具
可以在android studio中搜索插件**freeline**,安装后以上三步即可省略,一步到位。
不过使用过程中感觉插件还是略有bug,运气好的话非常顺利,运气不好就各种问题了,所以还是推荐自己配置freeline,然后使用命令行编译的方式。
5. 扩展阅读
[Android增量编译3~5秒的背后](http://www.jianshu.com/p/37e31d924be9)
##Other
欢迎关注公众号**wutongke**,每天推送移动开发前沿技术文章:
![wutongke](http://upload-images.jianshu.io/upload_images/1407686-8f64e33d76075d40.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
推荐阅读:
[Android增量编译3~5秒的背后](http://www.jianshu.com/p/37e31d924be9)