Gradle中新的Implementation关键字是什么

时间:2017-11-01 07:19:02

标签: android android-studio gradle

我最近将Android studio更新到3.0版。现在在build.gradle中,使用implementation关键字而不是旧的compile关键字添加所有依赖项。

dependencies {
     implementation fileTree(include: ['*.jar'], dir: 'libs')
     implementation 'com.android.support:appcompat-v7:25.4.0'
}

compile关键字仍有效。 compileImplementation之间有什么区别?

1 个答案:

答案 0 :(得分:1)

compile 已被弃用,因此图书馆使用 api implementation

  

Gradle 3.4引入了新的Java库插件配置,允许您控制是否将依赖项发布到使用该库的项目的编译和运行时类路径。 Android插件正在采用这些新的依赖配置,迁移大型项目以使用它们可以大大减少构建时间。

<强> implementation

  

如果实现依赖项更改其API,则Gradle仅重新编译该依赖项以及直接依赖于它的模块。大多数应用和测试模块都应该使用此配置。

<强> api

  

当模块包含api依赖项时,它让Gradle知道模块想要将该依赖项传递到其他模块,以便在运行时和编译时都可以使用它。此配置的行为与compile(现在已弃用)类似,您通常只应在库模块中使用它。这是因为,如果api依赖项更改其外部API,Gradle将重新编译在编译时有权访问该依赖项的所有模块

new dependency configurations

了解详情