无法创建任务“:app:minifyReleaseWithR8”。无法查询此提供程序的值,因为它没有可用的值。

85

我一直在尝试同步我的项目,但在Android Studio上遇到了这个错误。 我正在使用Android Studio 4.1和Gradle 6.5。 当我从4.0升级到4.1时出现了问题。在此输入图片描述

20个回答

143
在我的情况下,我只需下载正确的sdk。 转到SdkManager(例如,按两次shift键并输入“sdk manager”),确保下载与您的项目中定义的build.gradlebuildToolsVersion对应的SDK平台。 (我不知道为什么Android Studio没有检测到sdk未安装,可能是一个bug)

13
这也是我的错误。Android Studio自带sdk 30,但我的compileSdkVersion是29。而且显示的错误信息一点也不有用。 - Mike Hall
4
请确保已安装Google Play服务SDK。 - Aleyam
1
谢谢。问题已解决。在我的情况下也是同样的原因。 - Sattar Hummatli
帮助了我们,似乎后来的API版本在升级中失去了支持。对于我们来说,我们选择了Android API 28和29。 - alanionita
你好,我遇到了同样的问题,但是无法解决。 - joshua
我在使用libGDX时遇到了错误,之前一切正常。android/build.gradle使用的是sdk 31,但只安装了sdk 30。您可以在文件/设置/外观和行为/系统设置/Android SDK中轻松安装新的sdk。 - Draelach

13

打开您的Android/gradle.properties文件,并确保android.enableR8=true存在。 同时,最好确保文件的内容为:

org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

2
'android.enableR8' 已弃用并在 Gradle 7.0 中被移除。 - mymedia
@mymedia 你可能是正确的。我发帖时我的回答是有效的。实际上这就是技术世界的本质。你应该看到了发帖日期。;) - YodagamaHeshan
我在发布文档中没有看到提到这个(弃用)问题。自AGP 3.4.0+以来,R8已默认启用,所以@Yodagama,如果您使用的是AGP 3.4.0或更高版本,则不确定这行代码是如何工作的,因为它应该已经默认启用了。 - Knight Forked

11

对我来说,我只是在我的build.gradle(app)文件中添加了 buildToolsVersion "30.0.3" -

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    ...
    ...}

1
那对我起作用了!也许还需要下载到Lollipop和Play SDK的SDK,但是直到我添加了buildToolsVersion行才起作用。有趣的是,我正在进行这个项目以运行Google CodeLab项目,因为很难弄清楚如何做不仅仅是构建该项目,所以我几乎放弃学习我想要学习的东西。谢谢! - Heath Kornblum

9

今天我遇到了同样的问题,但以上的解决方案都没有起作用。以下是我的解决方法:

  • 将app级别的build.gradle文件中的“minifyEnabled false/true”注释掉
  • 同步(对于我来说,AS开始进行并下载了最新的gradle插件-7.0.2,没有出现任何问题)
  • 完成对新gradle插件的同步后,取消注释“minifyEnabled false/true”,再次运行同步

请记住,自AGP 3.4.0+以来,R8默认已启用。

我猜这是由新AS和相应的SDK安装以及旧的gradle配置文件之间的冲突造成的。


6
我唯一的解决方案是启用gradle.properties中的这行代码,并确保此行未被注释:
android.enableR8=true

点击右上角的“立即同步”,然后它将完成魔法。

等待同步完成,然后再次注释该行代码,以避免过时通知的干扰:

#android.enableR8=true

6
在我的情况下,只需删除 buildToolsVersion 配置,例如更改:
compileSdkVersion 31
buildToolsVersion '31.0.0'

to

compileSdkVersion 31

3

注释这行代码

//            minifyEnabled true

问题已解决。


8
你没有解决问题,你只是禁用了代码压缩! - Eury Pérez Beltré
我相信在新版本中不需要它,对吗? - صلي علي محمد - Atef Farouk
当然是的,改变的是执行代码压缩的引擎,现在是R8。 - Eury Pérez Beltré
我在某处读到过,但不记得确切的地方。在较新版本中不再需要缩小文件大小。请再次确认。 - صلي علي محمد - Atef Farouk
我不需要再次确认。如果您阅读Jetpack Compose性能文档,它们鼓励进行代码压缩:https://developer.android.com/jetpack/compose/performance - Eury Pérez Beltré

2

在我的情况下,我只是将build.gradle (:app)中的buildToolsVersion从“29.0.3”更新到buildToolsVersion“30.0.3”。

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"
    ...
}

1

尽管错误信息提到了代码混淆(minification):

无法创建任务“:app:minifyReleaseWithR8”。

但是不需要禁用代码混淆!这并不能解决问题。

 //minifyEnabled true
 minifyEnabled false

我的应用面向Android 31,但SDK未安装!

android {
    compileSdkVersion 31
    ndkVersion "21.3.6528147"
    buildToolsVersion "30.0.3"
    defaultConfig {
        applicationId "com.jorgesys.news"
        minSdkVersion 20
        targetSdkVersion 31
        versionCode 12
        versionName "1.2.9"

为了解决这个问题,你必须确保安装了正确的SDK。 jorgesys android studio

1
在我的情况下,我的app/build.gradle文件中有一个我没有安装的buildToolsVersion
buildToolsVersion '31.0.0-rc3'

但是我只安装了31.0.0-rc4,最近已经删除了31.0.0-rc3并更新了另一个项目,只是没有更新这个项目。

是的,我本来希望Android Studio(我的情况是2021.1.1 Canary 1)能够明确指出问题 - 我们应该报告这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接