啥都不说了编译安装速度就是快,先上个图,大家可以看一下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了。

###个人体验
真的很爽,曾经的几分钟,现在真的秒秒钟。

扫码关注公众号“伟大程序猿的诞生“,更多干货新鲜文章等着你~

公众号回复“资料获取”,获取更多干货哦~

有问题添加本人微信号“fenghuokeji996” 或扫描博客导航栏本人二维码

Android秒级编译Freeline的使用(Android Studio)相关推荐

  1. Android 秒级编译FreeLine

    项目地址:FreeLine FreeLine官网: FreeLine 1. 安装FreeLine插件 File->Settings->Plugins, 搜索输入FreeLine Plugi ...

  2. 浅谈蚂蚁聚宝Android秒级编译

    本文PPT来自蚂蚁金服高级技术专家栾砚强于10月14日在2016年杭州云栖上发表的演讲,分享主题为<蚂蚁聚宝Android秒级编译介绍--Freeline>. 传统的Android应用构建 ...

  3. Android秒级编译方案-FreeLine

    Freeline 是什么? Freeline 是一款 Android 平台上的秒级编译方案,能够显著地提高 Android 工程的编译速度 为什么使用FreeLine 随着Android app 工程 ...

  4. 今日头条 Android '秒' 级编译速度优化

    背景介绍 Android 项目一般使用 gradle 作为构建打包工具,而其执行速度慢也一直为人所诟病,对于今日头条 Android 项目这种千万行级别的大型工程来说,全量编译一次的时间可能高达六七分 ...

  5. Freeline - Android平台上的秒级编译方案

    Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ...

  6. android 源码编译 模拟器emulator启动,Android 模拟器运行编译后的源码

    下载Android源码以及如何编译,这里就不多介绍了,照着www.android.com给的步骤进行,主要介绍一下使用make命令编译好了源码之后,如何使用模拟器来运行生成的镜像之类的文件. 方式应该 ...

  7. android源码编译设置c++编译器,Android Stuido:使用CMake编译多个C/C++文件(1)

    Abstract 上一篇文章基本介绍了Android Studio中链接C/C++代码的方法,本文进一步介绍如何处理具有多个.c/.cpp/.h文件的复杂project.有过linux编程经验的同学知 ...

  8. RN做的Android应用反编译,macOS Catalina配置Android反编译三件套 apktool/dex2jar/enjarify/jd-gui...

    创建目录 $ cd ~ $ mkdir Android $ cd Android 1 2 3 4 5 $cd~ $mkdirAndroid $cdAndroid 下载安装配置dex2jar $ wge ...

  9. android ramdisk.img 编译,韦东山-tiny4412(android 5.0.2)编译生成的 ramdisk.img 无法启动 - 百问网嵌入式问答社区...

    tiny4412(android 5.0.2)编译生成的 ramdisk.img 无法启动 [    3.760726] dm962x:  [Analysis.2] 0xF2, D[5] 0 EP1: ...

  10. android 源码编译 模拟器emulator启动,Android 源码 (AOSP) - 编译 ( 模拟器 )

    前言 走到这一步, 我们终于可以启动一下模拟器玩玩了, 经过两天编译, 感觉什么都好,就是头冷. 在这里插入图片描述 开搞,开搞. AOSP系列 开搞 自己的配置 硬件 Mac mini (Late ...

最新文章

  1. R语言基于DALEX包进行特征筛选(feature selection)
  2. BCH易于使用不只是说说而已
  3. button按钮onclick触发不了_手把手教你深入CSS实现一个粒子动效的按钮
  4. java 方法继承方法_Java继承和方法重写
  5. json 序列化 java_Java JSON序列化杂谈
  6. shell脚本(五)——函数的格式、传参、变量、递归、函数库
  7. ctf-web-never_give_up
  8. docker-compose up -d --build不会更新镜像;什么时候容器会变更
  9. Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(一)
  10. 客户管理系统(SSM版):bs_typeahead动态的自动补全文本框的内容
  11. 前端 day02 CSS
  12. Js篇-面试题9-请说一下Js中的事件循环机制
  13. Python生成城市热力图
  14. 计算机谱子勇敢爱,【数字乐谱大全流行歌曲】流行歌曲勇敢爱乐谱及歌词.doc...
  15. redhat 下 oracle 10G RAC 集群 详细安装
  16. 解决打开文件、文件夹、拖拽复制删除时鼠标卡顿
  17. JZOJ 5353. 村通网
  18. 手动修复重建Windows 10系统EFI分区引导bootloader
  19. 逗B少年搞程序番外篇 人山人海,我自独白
  20. 阿里云、腾讯云等如何运用IPFS技术做存储?

热门文章

  1. Go语言:数组练习—冒泡排序
  2. java mybatis 代码生成器_mybatis自动生成java代码
  3. SLAM_四元数取逆-Quaternion Inverse - 已验证
  4. ICRA 2021| 基于精确和减少漂移的关注距离的Camera-IMU-UWB融合定位方法
  5. leetcode之有效的括号
  6. Android初学第9天
  7. win7 C盘空间越来越小 Windows文件夹变大的问题
  8. 生命在此定格 路透记者遇难前拍下的最后画面
  9. 并查集应用——PAT甲级2019春季
  10. ‘source‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。