前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android秒级编译Freeline的使用(Android Studio)

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

作者头像
先知先觉
发布2019-01-21 11:27:21
1.1K0
发布2019-01-21 11:27:21
举报
文章被收录于专栏:伟大程序猿的诞生

啥都不说了编译安装速度就是快,先上个图,大家可以看一下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文件中添加如下代码:

代码语言:javascript
复制
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.4'
    }
}
这里写图片描述
这里写图片描述

第二步:

在module的build.gradle文件中添加如下代码:

代码语言:javascript
复制
apply plugin: 'com.antfortune.freeline'
这里写图片描述
这里写图片描述

第三步:

工程目录文件下执行如下代码,切记是工程目录下面,不然会报错!!!

代码语言:javascript
复制
Windows[CMD]: gradlew initFreeline
代码语言:javascript
复制
Linux/Mac: ./gradlew initFreeline

不过下载速度过慢,本人添加了参数-Pmirror 所以你也可以执行:

代码语言:javascript
复制
./gradlew initFreeline -Pmirror
这里写图片描述
这里写图片描述

当显示BUILDSUCCESS则表示成功!

这里写图片描述
这里写图片描述

第四步:

下载完成之后,在命令行输入 python freeline.py 即可进行编译运行。 不过前提是你必须自己安装python,这个命令也是在工程目录下面执行。MAC现在的版本都预装了python。 不过每次输入命令行是不是感觉不爽,所以我们可以去下载插件,这是一件很爽的事情。

这里写图片描述
这里写图片描述

我的已经安装过了,小伙伴们可以自行安装。安装完成后会在工具栏多一个图标。

这里写图片描述
这里写图片描述

第五步:

运行freeline,第一次比较慢,之后都会超级快,从此安卓编译再也不用坐等喝咖啡了,感觉是不是很爽,有木有。

这里写图片描述
这里写图片描述

提示:需要先卸载gradle安装包,然后freeline安装,第一可能不会自动打开app,需要手动点击打开。而且不支持多个设备同时链接,就是不管是模拟器还是真机都只能连接一个。

第六步:

其实到第五已近就可以体验秒级编译了,不过这时候你再去使用果然掉了编译就会报错:

这里写图片描述
这里写图片描述

所以当我们需要切换到gradle 的时候就需要在工程目录下执行./gradlew clean 这下就可以使用gradle了,当想要使用freeline时候再用./gradlew initFreeline就OK了。

个人体验

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年01月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 Freeline?
  • 如何使用Freeline?
    • 第一步:
      • 第二步:
        • 第三步:
          • 第四步:
            • 第五步:
              • 第六步:
                • 个人体验
                相关产品与服务
                腾讯云代码分析
                腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档