根据以下SO帖子,compile
最近成为implementation
:What's the difference between implementation and compile in gradle
我的问题是我应该使用什么而不是compileOnly
?上面的帖子没有解决该gradle配置问题。我知道我仍然可以使用compileOnly
但建议的配置是什么,不会很快弃用?
似乎所有包含..compile..
的配置都会被..implementation..
取代。我尝试了implementationOnly
但未被Android Studio接受。
答案 0 :(得分:37)
compileOnly
是替代品 - 不推荐使用的等效配置为provided
。请参阅the documentation。
答案 1 :(得分:0)
Android Gradle 3.0.0插件
之前-不推荐使用的配置-provided
之后-新配置-compileOnly
Gradle仅将依赖项添加到编译类路径(不将其添加到构建输出)。当您创建Android库模块并且在编译过程中需要依赖项时,这很有用,但在运行时存在依赖项是可选的。也就是说,如果使用此配置,则您的库模块必须包含一个运行时条件,以检查该依赖项是否可用,然后优雅地更改其行为,以便在未提供依赖项时仍可以运行。通过不添加非关键的临时依赖关系,这有助于减小最终APK的大小。此配置的行为与提供的行为类似(现已弃用)。
答案 2 :(得分:0)
在某些情况下,当您接受IDE自动建议将项目添加到gradle文件时,它将添加“ compile project(path:'xxx')”。更正它,您会没事的。
答案 3 :(得分:0)
您的Project Gradle依赖关系应从
更改
dependencies {
provided 'com.someDependency:api:78'
}
到
dependencies {
compileOnly 'com.someDependency:api:78'
}