2017 年google 后,Android studio版本更新至3.0,更新中,连带着com.android.tools.build:gradle
工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4.0 里程碑版本作为gradle的编译版本,该版本gradle编译速度有所加速,更加欣喜的是,完全支持Java8。当然,对于Kotlin的支持,在这个版本也有所体现,Kotlin插件默认是安装的。【】
在com.android.tools.build:gradle 3.0 以下版本依赖在gradle 中的声明写法
compile fileTree(dir: 'libs', include: ['*.jar'])
- 1
- 1
但在3.0后的写法为
implementation fileTree(dir: 'libs', include: ['*.jar'])
或
api fileTree(dir: 'libs', include: ['*.jar'])
- 1
- 2
- 3
- 1
- 2
- 3
在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,一个是implement 和api,这两个都可以进行依赖添加,但是有什么区别呢?
api 指令
完全等同于compile指令,没区别,你将所有的compile改成api,完全没有错。
implement指令
这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。
文不如图
这里写图片描述
用api指令编译,Glide依赖对app Module 是可见的,app Module也可以使用Glide依赖
这里写图片描述
用implement指令编译依赖对app Module 是不可见的,app Module不可以直接使用Glide
建议
在Google IO 相关话题的中提到了一个建议,就是依赖首先应该设置为implement的,如果没有错,那就用implement,如果有错,那么使用api指令,这样会使编译速度有所增快。
参考资料
需要科学上网
Google I/O 2017 - How speed up Gradle builds (FULL VIDEO)
Google I/O 2017 - How speed up Gradle builds (NEW GRADLE PLUGIN 3.0.0 PART ONLY)
Google I/O 2017 - How speed up Gradle builds (reference to 1*)
- 本文已收录于以下专栏:
- 用 户 名:
- peaut
- 评论内容:
-
HTML/XML objective-c Delphi Ruby PHP C# C++ JavaScript Visual Basic Python Java CSS SQL 其它
暂无评论
相关文章推荐
-
kotlin第一次运行在Android上
kotlin release1.0.0的版本发布也有好多天了,今天在做Androidlib相关的东西的时候,看了一下kotlin。出于“浪漫主义“情怀打算先把手上的事情放一放,运行一下这个kotlin…- Xulei881
- 2016-03-02 13:47
- 2014
-
android gradle tools 3.X 中依赖,implement、api 和compile区别
转载:android gradle tools 3.X 中依赖,implement、api 指令 转载地址:http://blog.youkuaiyun.com/soslinken/article/detail…- Marvinhq
- 2017-06-19 21:06
- 2308

-
AndroidStudio配置Kotlin
AndroidStudio配置Kotlin、Kotlin项目说明、Kotlin开发AndoridStudio项目- u013472738
- 2017-06-14 02:02
- 319
-
kotlin随笔—扩展函数
扩展函数- jhj_24
- 2017-01-09 17:04
- 2196
-
基于TMS320C6455的高速SRIO接口设计
srio- jasonwoodlee
- 2011-07-28 23:23
- 402
-
最完整Android Studio插件整理
现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。…- Alpha58
- 2017-03-17 09:34
- 5869
-
Android Studio更新升级方法
自从2013 Google I/O大会之后,笔者就将android ide开发工具从eclipse迁移到Android Studio了,android studio一直在更新完善,为了与时俱进,我们当…- hil2000
- 2013-09-08 21:31
- 129503
-
UnsatisfiedLinkError: No implementation found for , AndroidStudio使用*.so
工作记录,希望能帮助到大家.- dreamme1
- 2015-12-18 12:50
- 1692
-
AndroidStudio查看方法具体实现(Open Implementation)
之前用Eclipse查看方法的时候有一个比较方便的选择,可以选择打开方法的接口定义,或者方法的实现(Open Implementation ) AndroidStudio一直没找到这个选项,百度了一…- tmac2000
- 2016-05-25 12:02
- 3099
-
Android Studio 3.+版本 Gradle中Complie和Implementation
狂追Android Studio的最新版本,最近在打包时发现,对于依赖包,原本的Complie关键字,部分变成了Implementation,并且下拉框里没有Complie了。 通过查资料发…- zhendless
- 2017-08-08 10:52
- 127
-
一个小菜鸟的Android Studio2.3升级之旅,附赠升级之后Gradle的配置方法
正确升级Android Studio2.3的姿势,完美解决一直refreshing或者一直building的问题。- hylczp
- 2017-03-03 12:49
- 19299
-
gradle-4.1-all.zip离线包下载 极速 android studio2.3 3.0编译必备
- 3天前 10:26
- 83.36MB
- 下载
-
Android Studio - 详解build.gradle
AS中APP所有的配置尽在一个build.gradle文件中,打包的时候也是解析build.gralde文件来打包的,所以搞懂build.gradle文件是至关重要的,结构如下所示 …- xx326664162
- 2015-09-15 10:57
- 4069
-
Android Studio 初始新建项目时 build gradle project 超级慢的原因
今天项目崩溃重新新建,结果发现又奇慢无比,第一次用android studio的时候也遇到这个问题,这次也是等了近 半个小时才搞定,通过查看网络数据信息发现是 android studio 正在从美国…- zsjangel
- 2014-02-24 01:00
- 13182
-
Android Studio大课堂 - 6.1.打包 - 详解build.gradle
AS中APP所有的配置尽在一个build.gradle文件中,打包的时候也是解析build.gralde文件来打包的,所以搞懂build.gradle文件是至关重要的,结构如下所示 apply plu…- u013474104
- 2017-03-17 08:48
- 203
-
android studio 一直卡在Gradle:Build Running的解决办法
在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的情况,本文列出了几种解决方法以供参考。- a549742320
- 2016-09-13 13:52
- 26900
-
Android Studio里面的Build.gradle的详细配置说明
apply plugin: ‘com.android.application’//说明module的类型,com.android.application为程序,com.android.library为…- u012246458
- 2016-06-20 18:26
- 4174
-
Android Studio里面的Build.gradle的详细配置说明
Android Studio里面的Build.gradle的详细配置说明- doris_d
- 2016-07-27 13:51
- 268
-
Android Studio中Module的build.gradle详解
Gradle版本 我们在进行采用AS进行安卓项目的开发时,就必须接触gradle,它是目前最新潮的一个构建项目的一个系统,而google也与时俱进,用着最新的东西,顺便说下,eclipse之前是…- sjunothing
- 2016-12-11 19:55
- 75
-
android studio快捷键和Build和Gradle详解
apply plugin: ‘com.android.application’//说明module的类型,com.android.application为程序,com.android.library为…- wanxuedong
- 2016-11-02 14:44
- 586
- ').addClass('pre-numbering').hide(); (this).addClass(′has−numbering′).parent().append( numbering); for (i = 1; i