在 Gradle 7 中,compile和runtime配置都被删除了。因此,您必须迁移到上面的implementation和api配置。如果您仍在java为 Java 库使用该插件,则需要改为应用该java-library插件。

绿色的配置是用户应该用来声明依赖关系的配置
粉红色的配置是组件编译或针对库运行时使用的配置
蓝色的配置是组件内部的,供自己使用

| 配置名称 | 使用及描述 |
|---|---|
| api | 该依赖方式会传递所依赖的库,当其他module依赖了该module时,可以使用该module下使用api依赖的库。(传递依赖)用于编译时和运行时。(取代以前的compile) |
| implementation | 只能用于当前模块下,模块内部使用 取代以前的 compile,使用该方式依赖的库将会参与编译和打包 |
| compileOnly | 代替以前的provided ,只在编译时有效,不会参与打包可以在自己的moudle中使用该方式依赖一些比如com.android.support,gson这些使用者常用的库,避免冲突。 |
| compileOnlyApi | 这是您声明模块和使用者在编译时需要但在运行时不需要的依赖项的地方。这通常包括在运行时发现时被遮蔽的依赖项。 |
| runtimeOnly | 只在生成apk的时候参与打包,编译时不会参与,很少用。代替以前的 apk |
| testImplementation | 只在单元测试代码的编译以及最终打包测试apk时有效。代替以前版本的testCompile |
| testCompileOnly | 这是您声明依赖项的地方,这些依赖项仅在测试编译时需要,但不应泄漏到运行时。这通常包括在运行时发现时被遮蔽的依赖项。 |
| testRuntimeOnly | 这是您声明依赖项的地方,这些依赖项仅在测试运行时需要,而不是在测试编译时需要。 |
| 删除的配置 | 新配置 |
|---|---|
| compile | api或者implementation |
| runtime | runtimeOnly |
| testRuntime | testRuntimeOnly |
| testCompile | testImplementation |
| Runtime | RuntimeOnly |
| Compile | Implementation |