"provided files" 和 "compile" 有什么区别

What is the difference between "provided files" and "compile"

在 Android studio 中 "module settings" 的“依赖项”选项卡中,您可以 select 库文件的范围。 "compile" 和 "provided" 有什么区别?

compile 将库包含在您的最终 APK 中,而 provided 则不会; provided 是仅编译时依赖项。

Gradle v3.0 包括下一个更改:

compile -> api - 暴露消费者的依赖关系

provided -> compileOnly - 是编译时依赖项(不包含在二进制文件中并且在运行时不可用)这就是为什么它允许您缩小最终二进制文件的大小。通常用于注解处理器

说什么?说白了,compile or api会在编译时存在,并打包到最终工程中,传递给子依赖使用。 provided只在编译时存在,打包成最终工程时不存在。如果打包成最终工程后没有其他地方继续提供依赖,会报错,一般用于开发第三方jar包等