大家好,又见面了,我是你们的朋友全栈君。
参考: android gradle依赖:implementation 和compile的区别
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'])
但在3.0后
的写法为
implementation fileTree(dir: 'libs', include: ['*.jar'])
或
api fileTree(dir: 'libs', include: ['*.jar'])
api
指令
完全等同于compile指令,没区别,你将所有的compile改成api,完全没有错。
implement
指令
使用了该命令编译的依赖,它仅仅对当前的Moudle提供接口。 优点:1. 加快编译速度。2. 隐藏对外不必要的接口。
provided
(compileOnly)
只在编译时有效,不会参与打包 可以在自己的moudle中使用该方式依赖一些比如com.android.support,gson这些使用者常用的库,避免冲突。
apk
(runtimeOnly)
只在生成apk的时候参与打包,编译时不会参与,很少用。
testCompile
(testImplementation)
testCompile 只在单元测试代码的编译以及最终打包测试apk时有效。
debugCompile
(debugImplementation)
debugCompile 只在 debug 模式的编译和最终的 debug apk 打包时有效
releaseCompile
(releaseImplementation)
Release compile仅仅针对 Release 模式的编译和最终的 Release apk 打包。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/213386.html原文链接:https://javaforall.cn