开发工具安卓知识AndroidStudio的使用

AndroidStudio Freeline实现工程秒级编译

2016-11-23  本文已影响2975人  Venus_明

Android开发工具编译痛点

现在Android开发工具应该大部分都是Android Studio吧,对于一个大型App来说,动辄就是十几个工程相互依赖,稍微改几行代码,跑一下都得好几分钟,当然这跟电脑的配置也有关系。虽然目前google推出InstantRun,在AS 2.0上使用的一个插件,用于提高编译速度,但是就我使用后的感觉来说,并不是很理想,可能是我们这边工程较为复杂,编译完完整的工程也得需要一两分钟。在这里羡慕下Xcode秒级编译速度,肯定的是,很多Android开发友们也有这样的感觉。

为了解决这个痛点,最近公司有一个同事调研了Freeline这个工具,结果是非常惊喜的,增量编译是秒级别的,在这里,我不骗大家!!很荣幸可以认识使用它。

Freeline介绍

Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。

简单来说,就是阿里提供的一个增量编译方案,主要是为了加快日常开发过程中的项目编译速度,但是目前只支持debug模式非混淆的开发。

Pros
支持大多数场景的增量编译
支持retrolambda与注解
支持so动态替换
支持Windows/Linux/macOS
App crash后,仍然可以通过增量编译来修复
大多数情况下增量编译可以在10s内完成

Cons
初次接入可能存在一定的问题,需要稍微花点时间来解决
在简单的工程上,与其他构建方案相比,没有明显的优势
不支持删除带id的资源,会报错
不支持Kotlin

这边直接进入Freeline的使用方法讲解,使用其实也很简单,请跟着司机走~

Freeline使用

1.Freeline接入

Ps:

  1. 项目路径不能包含中文、空格;
  2. 命令行符号有误,应该是./gradlew initFreeline -Pmirror “-”是减号,并且建议还是要加上镜像-Pmirror否则下载很慢

上面配置可见下图:

根目录-build.gradle 主工程—build.gradle 初始化Freeline依赖 初始化Freeline成功

2.日常开发-增量编译与全量编译

Ps:

  1. 第一次必须全量编译,记录设置工程文件的修改信息,后面才可以增量编译,第一次全量编译都比较慢,所以大家要耐着心等待编译完成.
  2. 如果删除带id的资源则必须手动强制全量更新,增量更新会报错
  3. Freeline目前只支持debug buildType,并且不支持混淆
  4. gradle的改变都会触发全量更新
  5. 从Freeline的编译切换到as的编译,必须先clean build一次
  6. 增量更新有可能启动不了关闭的app,但修改已经更新到app里,手动启动app即可看到

全量编译:

全量编译

当全量编译完成,我改动二十几行代码,进行增量编译:

改动代码后的增量编译

结果表示,这个工具很强大,让我们开发效率直线上升,不用再苦苦等着缓慢编译的完成,使用方法简单。为了不加班,大家赶紧用起来吧!

源码可见:https://github.com/alibaba/freeline
如果你的工程结构较为复杂,在第一次使用freeline编译的时候报错了的话,你可以添加一些freeline提供的配置项,来适配你的工程。具体可以看Freeline DSL References

么么哒!

上一篇 下一篇

猜你喜欢

热点阅读