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了。
个人体验
真的很爽,曾经的几分钟,现在真的秒秒钟。
- Android秒级编译Freeline的使用(Android Studio)
- FreeLine实现Android的秒级编译
- Android 秒级编译 Freeline
- ANDROID 秒级编译 FREELINE
- Android 秒级编译 Freeline
- Android 秒级编译Freeline
- Android 秒级编译 Freeline
- Android 秒级编译 Freeline
- Android Studio引入Freeline插件,秒级编译
- Android 秒级编译方案-Freeline安装使用
- Android秒级编译工具Freeline应用
- Android秒级编译方案-FreeLine
- android 秒级编译freeline,部署过程
- Freeline - Android平台上的秒级编译方案
- Freeline - Android平台上的秒级编译方案
- Freeline - Android平台上的秒级编译方案
- Freeline - Android平台上的秒级编译方案
- Freeline--Android平台上的秒级编译方案
- SelectObject
- DataBinding系列五、XXXBinding
- ios打包ipa的四种实用方法(.app转.ipa)
- git 配置
- 偏差方差分解
- Android秒级编译Freeline的使用(Android Studio)
- iOS UILabel、UIButton文字竖排显示
- Android开发初体验之face++人脸识别加静默拍照
- 解决post乱码的过滤器配置
- 1239: 华科版C语言程序设计教程(第二版)例题6.17
- Android Studio JUnit单元测试
- 第二章 2.3 设计算法
- java DES 加密解密算法及报错 Given final block not properly padded
- UVa 12657:Boxes in a Line