graduation和completion_guides和maven区别

2022-11-17 10:45:10 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

参考: 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 中的声明写法

代码语言:javascript复制
compile fileTree(dir: 'libs', include: ['*.jar'])

但在3.0后的写法为

代码语言:javascript复制
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

0 人点赞