我最近将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
关键字仍有效。 compile
和Implementation
之间有什么区别?
答案 0 :(得分:1)
compile
已被弃用,因此图书馆使用 api
或 implementation
Gradle 3.4引入了新的Java库插件配置,允许您控制是否将依赖项发布到使用该库的项目的编译和运行时类路径。 Android插件正在采用这些新的依赖配置,迁移大型项目以使用它们可以大大减少构建时间。
<强> implementation
强>
如果实现依赖项更改其API,则Gradle仅重新编译该依赖项以及直接依赖于它的模块。大多数应用和测试模块都应该使用此配置。
<强> api
强>
了解详情当模块包含api依赖项时,它让Gradle知道模块想要将该依赖项传递到其他模块,以便在运行时和编译时都可以使用它。此配置的行为与compile(现在已弃用)类似,您通常只应在库模块中使用它。这是因为,如果api依赖项更改其外部API,Gradle将重新编译在编译时有权访问该依赖项的所有模块