转载:http://blog.csdn.net/sanjay_f/article/details/50164425
Android Studio 版本更新至 3.0,更新中,连带着com.android.tools.build:gradle
工具也升级到了3.0.0,在3.0.0中使用了最新的 Gralde 4.0 里程碑版本作为 gradle 的编译版本,该版本 gradle 编译速度有所加速,更加欣喜的是,完全支持 Java8。当然,对于Kotlin的支持,在这个版本也有所体现,Kotlin 插件默认是安装的。
所以在 Gradle 3.0 以后 依赖的写法也发生了改变:compile
指令被标注为过时方法,而新增了两个依赖指令,一个是 implement
和 api
,这两个都可以进行依赖添加。
- api
完全等同于compile指令,没区别,你将所有的compile改成api,完全没有错。
- implement
这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。
----- 以上部分为更新内容 -----
- Compile
这个最常见,再github看到的那些都是这样的形式
compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。
- Provided
Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。(使用 provided 的依赖不能被依赖传递)
- APK
只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错
- Test compile
Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。
- Debug compile
Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。
- Release compile
Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。
网友评论