Android Gradle - 使用什么而不是compileOnly?

时间:2017-10-27 12:19:03

标签: android android-studio gradle android-gradle build.gradle

根据以下SO帖子,compile最近成为implementationWhat's the difference between implementation and compile in gradle

我的问题是我应该使用什么而不是compileOnly?上面的帖子没有解决该gradle配置问题。我知道我仍然可以使用compileOnly但建议的配置是什么,不会很快弃用?

似乎所有包含..compile..的配置都会被..implementation..取代。我尝试了implementationOnly但未被Android Studio接受。

4 个答案:

答案 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' }