关于studio 3.0 依赖变更

以下都为官方文档摘录 , 方便自己查找记忆,你可以在这查看详细内容

https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#flavor_dimensions

  • implementation(弃用配置 compile)

当你的模块配置一个implementation 依赖项时,让Gradle知道这个模块在编译的时候不需要把依赖项泄露给其他模块。也就是说,只有在运行时,依赖才可用于其他模块。
使用这种依赖配置代替 api或compile可以导致显着的构建时间改进,因为它减少了构建系统需要重新编译的项目的数量。例如,如果一个 implementation依赖关系改变了它的API,Gradle只重新编译这个依赖项以及直接依赖它的模块。大多数应用程序和测试模块应使用此配置

  • api(弃用配置 compile)

当一个模块包含一个api依赖项时,让Gradle知道模块想要将该依赖项传递到其他模块,以便在运行时和编译时都可以使用它。这个配置的行为就像compile(现在已经被弃用了),你通常应该只在库模块中使用它。这是因为,如果api依赖项更改了外部API,Gradle会在编译时重新编译所有有权访问该依赖项的模块。所以,拥有大量的api依赖可以大大增加构建时间。除非你想将一个依赖的API暴露给一个单独的测试模块,implementation 依赖。

  • compileOnly(弃用配置 provided)

Gradle仅将编译类路径添加到编译类路径(它不会被添加到编译输出)。这在创建Android库模块时非常有用,并且在编译期间需要依赖项,但是在运行时存在则是可选的。也就是说,如果你使用这个配置,那么你的库模块必须包含一个运行时条件来检查依赖是否可用,然后适当地改变它的行为,所以如果没有提供,它仍然可以运行。这有助于减少最终APK的大小,而不会增加不重要的瞬态依赖关系。这个配置的行为就像provided(现在已被弃用)。

  • runtimeOnly(弃用配置 apk)

Gradle将依赖关系添加到构建输出中,以便在运行时使用。也就是说,它不会被添加到编译类路径中。这个配置的行为就像 apk(现在已被弃用)。

其他介绍:https://blog.csdn.net/yuzhiqiang_1993/article/details/78366985?locationNum=6&fps=1

你可能感兴趣的:(关于studio 3.0 依赖变更)