啥都不说了编译安装速度就是快,先上个图,大家可以看一下freeline的体验效果哦。
我这是一个小demo,虽说包不大,但是也可以看出打包安装的速度真的是秒级。 接下来看一下什么是Freeline?
Freeline 是蚂蚁金服旗下平台蚂蚁聚宝 Android 团队开发的一款针对 Android 平台的增量编译工具,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时,现已开源。
稳定性方面:完善的基线对齐,进程级别异常隔离机制。
性能方面:内部采用了类似 Facebook 的开源工具 buck 的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发 dx,并发 merge dex 等策略,在多核机器上有明显加速效果,另外在 class 及 dex,resources 层面作了相应缓存策略,做到真正增量开发,另外引入并优化 buck 的部分加速组件 dx,DexMerger,资源编译方面,深入改造了 Aapt 资源编译流程,当资源发生改变时候,秒级完成增量包编译,其中增量包仅含最小的变更集合(10Kb~数百Kb内),后期也被运用到线上进行资源/代码动态替换。相比目前 instant-run,buck,layoutcast 等方案快数倍速度。
Freeline源码 : https://github.com/alibaba/freeline Freeline原理 : https://yq.aliyun.com/articles/59122
在project的build.gradle文件中添加如下代码:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.antfortune.freeline:gradle:0.8.4'
}
}
在module的build.gradle文件中添加如下代码:
apply plugin: 'com.antfortune.freeline'
在工程目录文件下执行如下代码,切记是工程目录下面,不然会报错!!!
Windows[CMD]: gradlew initFreeline
Linux/Mac: ./gradlew initFreeline
不过下载速度过慢,本人添加了参数-Pmirror
所以你也可以执行:
./gradlew initFreeline -Pmirror
当显示BUILDSUCCESS则表示成功!
下载完成之后,在命令行输入 python freeline.py 即可进行编译运行。 不过前提是你必须自己安装python,这个命令也是在工程目录下面执行。MAC现在的版本都预装了python。 不过每次输入命令行是不是感觉不爽,所以我们可以去下载插件,这是一件很爽的事情。
我的已经安装过了,小伙伴们可以自行安装。安装完成后会在工具栏多一个图标。
运行freeline,第一次比较慢,之后都会超级快,从此安卓编译再也不用坐等喝咖啡了,感觉是不是很爽,有木有。
提示:需要先卸载gradle安装包,然后freeline安装,第一可能不会自动打开app,需要手动点击打开。而且不支持多个设备同时链接,就是不管是模拟器还是真机都只能连接一个。
其实到第五已近就可以体验秒级编译了,不过这时候你再去使用果然掉了编译就会报错:
所以当我们需要切换到gradle 的时候就需要在工程目录下执行./gradlew clean
这下就可以使用gradle了,当想要使用freeline时候再用./gradlew initFreeline
就OK了。
真的很爽,曾经的几分钟,现在真的秒秒钟。