繁体   English   中英

Android Gradle - 用什么代替 compileOnly?

[英]Android Gradle - What to use instead of compileOnly?

根据以下SO帖子,最近compile已成为implementationgradle中的实现和编译有什么区别

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

似乎所有包含..compile..配置都将被..implementation..替换。 我尝试了implementationOnly但没有被 Android Studio 接受。

compileOnly 替换 - provided不推荐使用的等效配置。 请参阅文档

适用于Gradle 3.0.0的Android插件

之前 - 已弃用配置 - 已provided
之后 - 新配置 - compileOnly

Gradle仅将依赖项添加到编译类路径中(它不会添加到构建输出中)。 这在您创建Android库模块时非常有用,并且在编译期间需要依赖项,但在运行时可以使用它是可选的。 也就是说,如果使用此配置,那么库模块必须包含运行时条件以检查依赖项是否可用,然后优雅地更改其行为,以便在未提供时仍可以正常运行。 这有助于通过不添加不重要的瞬态依赖项来减小最终APK的大小。 此配置的行为与提供的一样(现已弃用)。

有一种情况,当您接受IDE自动建议将项目添加到您的gradle文件时,它将添加“compile project(path:'xxx')”。 纠正它,你会没事的。

您的项目gradle dependecies应该更改

dependencies {
    provided 'com.someDependency:api:78'
}

dependencies {
    compileOnly 'com.someDependency:api:78'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM