Android Studio 3.5.0 上的 Gradle 错误“variant.getMergeResources()”

Posted

技术标签:

【中文标题】Android Studio 3.5.0 上的 Gradle 错误“variant.getMergeResources()”【英文标题】:Gradle error 'variant.getMergeResources()' on Android Studio 3.5.0 【发布时间】:2019-09-02 05:39:52 【问题描述】:

我使用 android Studio 3.5.0 和 Gradle 版本 5.6.1、5.6、5.4.1,但仍然得到相同的结果:

INFO: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.

我所有的 gradle 文件都包含在这里

https://gist.github.com/derohimat/b7832dc4973a125c289c804998519518

【问题讨论】:

分享你的 gradle 文件.. 【参考方案1】:

就我而言,它是由 gms services 4.3.1 引起的。所以我不得不将其更改为:

com.google.gms:google-services:4.2.0

我通过运行找到了这个:

gradlew sync -Pandroid.debug.obsoleteApi=true

在终端中。转到查看 -> 工具窗口 -> Android Studio 中的终端。

希望你的问题能解决

【讨论】:

我尝试降级google-services to 4.2.0,但仍然报错 错误变为Cause: buildOutput.apkData must not be null 是的,我已经看到并通过这个答案解决了***.com/a/57698879/898404【参考方案2】:

信息:API 'variant.getMergeResources()' 已过时,已替换为 'variant.getMergeResourcesProvider()'。 将于 2019 年底移除。

首先,这只是告诉您有关 API 弃用的正常信息,这是多个 Gradle 主要版本的常见弃用过程。所以,不用太担心。

其次,从 Gradle 5.1 开始,建议在自定义插件创建任务时使用配置避免 API。见Task Configuration Avoidance。

第三,您自己的 gradle 构建脚本看起来不包含任何关于 variant.getMergeResources() 的语句,但这并不意味着 您应用的 gradle 插件也不包含参考variant.getMergeResources,因此您需要查看所有插件,例如

apply plugin: 'com.android.application'
apply plugin: 'jacoco'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'

上面的插件实现可能至少有一个对variant 对象的引用。

编辑#1

运行以下命令以获取有关您项目的详细构建信息:

./gradlew build --scan

例如,您将看到如下所示的内容

有关构建故障排除的更多信息,请访问 Gradle Build Troubleshooting

【讨论】:

我评论这个插件// classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0' 并降级google-services to 4.2.0 但得到错误Cause: buildOutput.apkData must not be null

以上是关于Android Studio 3.5.0 上的 Gradle 错误“variant.getMergeResources()”的主要内容,如果未能解决你的问题,请参考以下文章

将 Android Studio 3.6 和 Gradle 更新到 3.5.0 后无法运行项目

android studio 升级到3.5版本报错gradle无法获取pom文件

Android Studio官方推荐内网离线配置

Android Studio 谷歌地图更改标记颜色

android studio版本过低需要更新问题

android studio版本过低需要更新问题