最近在浏览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' } }
-
在moudle gradle中配置
apply plugin: 'com.antfortune.freeline' android { freeline { hack true //如果配置了多Flavor,可以在这里指定编译的Flavor productFlavor "develop" } }
更多的配置可参考Freeline DSL References
-
命令行执行
首先执行./gradlew initFreeline
然后第一次全量编译
python freeline.py -f
之后就可以愉快地增量编译了,速度之快,啧啧啧
python freeline.py
用时1.6秒,加上界面重新启动1,2秒,一般5秒可以看到修改的效果,幸福过倍增。
-
插件化工具
可以在android studio中搜索插件freeline,安装后以上三步即可省略,一步到位。
不过使用过程中感觉插件还是略有bug,运气好的话非常顺利,运气不好就各种问题了,所以还是推荐自己配置freeline,然后使用命令行编译的方式。