Android秒级编译Freeline的使用(Android Studio)

来源:互联网 发布:linux设备驱动功能 编辑:程序博客网 时间:2024/05/21 09:46

啥都不说了编译安装速度就是快,先上个图,大家可以看一下freeline的体验效果哦。
这里写图片描述

我这是一个小demo,虽说包不大,但是也可以看出打包安装的速度真的是秒级。
接下来看一下什么是Freeline?


什么是 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

如何使用Freeline?

第一步:

在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了。

个人体验

真的很爽,曾经的几分钟,现在真的秒秒钟。

5 0
原创粉丝点击