使用秒级编译方案-Freeline

原创 2017年01月07日 15:37:34

转载请注明出处
http://blog.csdn.net/guodongandroid/article/details/54174776
本文来自【孫小逗的博客】

使用秒级编译方案-Freeline

一、关于Freeline

Freeline是蚂蚁金服旗下开发的一个基于动态替换的编译方案,运用到项目后可以极大的提高项目编译速度。相比较现在的instant-run,buck,layoutcast等方案快数倍。
GitHub地址
官网

二、集成Freeline

这里只说Windows下的集成,Linux/Mac 请自行百度/Google。(屌丝没有MacBook)

1、集成前的准备

你需要提前安装 Python 2.7+(Freeline 暂时还不支持 Python 3+),安装完之后需要重启一下 Android Studio。
Python 2.7.13下载地址

2、如何集成

提供了两种方式集成Freeline,最简单的方法是通过 Android Studio 的插件来集成(实际上是对命令行的方式做了封装,提供自动化的解决方案),另一种则是手工通过修改配置与执行命令的方式来集成。
建议使用方法二,自己先捣鼓一遍,最后使用插件。

方法一:Android Studio 插件

在最新版本的 Freeline 插件中,提供了自动化一键接入的方式,不需要像以前一样手动修改 build.gradle 配置文件了.

在Android Studio中,通过以下路径 Preferences → Plugins → Browse repositories ,搜索“freeline”,并安装,安装完成重启AS。

Freeline

直接点击 Run Freeline 的按钮,就可以享受Freeline带来的开发效率的提升啦(会先需要一个较为耗时的全量编译过程)。

第一次使用的时候,插件会自动检测是否安装了 Freeline,如果没有安装的话会弹出提示,按照提示点击“确定”,插件就会自动为你修改配置文件,并自动安装 Freeline 的依赖文件。

方法二:命令行方式

配置 project-level 的 build.gradle,加入 freeline-gradle 的依赖:

classpath 'com.antfortune.freeline:gradle:x.x.x'

这里写图片描述

然后,在你的主 module 的 build.gradle 中,应用 freeline 插件的依赖:

apply plugin: 'com.antfortune.freeline'

这里写图片描述

最后,在命令行执行以下命令来下载 freeline 的 python 和二进制依赖。

Windows[CMD]: gradlew initFreeline

注意!注意!注意!

  • 在CMD下执行命令需要CD到项目根目录,在AS下的Terminal可以直接执行。
  • 对于国内的同学,如果你在下载的时候速度很慢,你也可以加上参数,执行 gradlew initFreeline -Pmirror,这样就会从国内镜像地址来下载。(推荐使用)
  • 在执行的过程中,freeline可能会下载一些东西,有时候因为网络的样子会下载很慢,比如这样子的:

这里写图片描述

这时候可以提前下载对应版本的gradle,然后将下载好的zip文件放入这个目录下,freeline会自动解压:

这里写图片描述

再次执行 gradlew initFreeline -Pmirror,Freeline会再下载相应的依赖包,一般不会出错了,直到出现这步时,耐心等待一会儿。这个时候已经开始了对Freeline的初始化。

这里写图片描述

初始化成功:

这里写图片描述

接下来就是第一次的全量编译,耐心等待编译完成(只有第一次全量编译时间较长,以后的增量编译都是10s之内的):

执行一条 python freeline.py 命令即可。

这里写图片描述

这是第一次编译的时间是40秒。然后我修改了一个数值进行第二次编译。

这里写图片描述

0.7秒即编译完成,不到一眨眼的功夫,484想说“卧槽”。

注意又来了!

  • freeline的limitation,目前还不支持连接多台设备。目前方案参考 Issues233
  • 在自己的Application类中加入以下代码:

    FreelineCore.init(this);

  • 有时增量编译完成后并不会自动launch activity,但这时已经把更新部署到设备上了。

  • 有其他问题多去看看Issues

这里写图片描述

至此,Freeline已经成功的集成到了我们的项目中,如果觉得每次执行命令行比较繁琐,可以根据方法一在AS中安装Freeline的插件。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guodongAndroid/article/details/54174776

osg android 库的编译与例子编译

-
  • 1970年01月01日 08:00

AS环境下freeline增量编译配置

freeline简介Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少...
  • u012233285
  • u012233285
  • 2016-11-30 19:37:52
  • 685

Android Freeline加速编译App方案 使用和总结

Freeline简介在Android Studio还没推出Instant Run功能之前,每次修改Android 工程项目时都要将整个项目重新编译一次,然后再将资源和代码文件打包成APK文件传输到手机...
  • qq402164452
  • qq402164452
  • 2017-03-06 23:21:04
  • 2282

使用秒级编译方案-Freeline

转载请注明出处 http://blog.csdn.net/guodongandroid/article/details/54174776 本文来自【孫小逗的博客】 使用秒级编译方案-Fre...
  • guodongAndroid
  • guodongAndroid
  • 2017-01-07 15:37:34
  • 648

Freeline 让AndroidStudio快的飞起来

版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 目录(?)[+] 你的AndroidStudio编译时是否很卡?...
  • Rgen_xiao
  • Rgen_xiao
  • 2016-12-26 16:24:01
  • 547

Android studio集成FreeLine加速编译

利用Freeline加速编译
  • itlihongzhi
  • itlihongzhi
  • 2016-11-02 11:08:29
  • 1670

freeline加速编译

虽然android studio2.0的普及已经满足了部分开发者的对编译速度的提高的需求。 就本人而言,发现android6.0系统才能做到快速在真机中显示修改后的结果,而4.4.4版本也还没有办法实...
  • a898075785
  • a898075785
  • 2016-12-07 15:30:32
  • 98

AS 关于Freeline的正确使用姿势

一直听说 Freeline 可以秒编,不用不知道。用了吓一跳。 当然除了它的速度惊人之外,当然,它的坑也相当惊人。首先我们来看先官方的一些东西,以及配置。Freeline是由蚂蚁聚宝Android团...
  • hugo6057
  • hugo6057
  • 2016-12-14 18:21:06
  • 1522

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

啥都不说了编译安装速度就是快,先上个图,大家可以看一下freeline的体验效果哦。 我这是一个小demo,虽说包不大,但是也可以看出打包安装的速度真的是秒级。 接下来看一下什么是Freeline...
  • github_33304260
  • github_33304260
  • 2017-01-10 15:49:47
  • 947

android 秒级编译freeline,部署过程

1、在项目的主Gradle中添加Freeline的依赖,完整配置如下 buildscript { repositories { jcenter() } d...
  • kaizideai
  • kaizideai
  • 2017-05-02 14:39:38
  • 239
收藏助手
不良信息举报
您举报文章:使用秒级编译方案-Freeline
举报原因:
原因补充:

(最多只允许输入30个字)