【发布时间】:2015-03-20 03:20:48
【问题描述】:
在 Android Studio 的“依赖项”选项卡的“模块设置”中,您可以选择库文件的范围。 “编译”和“提供”有什么区别?
【问题讨论】:
标签: gradle android-studio dependencies
在 Android Studio 的“依赖项”选项卡的“模块设置”中,您可以选择库文件的范围。 “编译”和“提供”有什么区别?
【问题讨论】:
标签: gradle android-studio dependencies
compile 将库包含在您的最终 APK 中,而 provided 不包含; provided 是仅编译时的依赖项。
【讨论】:
Gradle v3.0 包括下一个更改:
compile -> api - 暴露对消费者的依赖
provided -> compileOnly - 是编译时依赖(不包含在二进制文件中并且在运行时不可用),这就是为什么它允许您缩小最终二进制文件的大小。通常用于注解处理器
【讨论】:
该说什么?说白了,compile or api会在编译的时候就存在,打包到最终的工程中,可以传递给子依赖使用。 provided仅在编译时存在,打包到最终项目中时不存在。打包成最终项目后如果没有其他地方继续提供依赖会报错,一般用于开发第三方jar包等。
【讨论】: