You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行./gradlew signingReport生成签名报告时遇构建错误求助

Gradle签名报告构建错误解决方法

环境信息

  • OS:MacOS Sonoma 14.2.1
  • Android Studio版本:Android Studio Hedgehog | 2023.1.1 Patch 2

问题现象

执行命令./gradlew signingReport生成Gradle签名报告时,出现构建失败,具体错误日志如下:

./gradlew signingreport

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'CampusFriends'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.google.gms:google-services:4.4.0.
     Required by:
         project :
      > No matching variant of com.google.gms:google-services:4.4.0 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.2' but:
          - Variant 'apiElements' capability com.google.gms:google-services:4.4.0 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'javadocElements' capability com.google.gms:google-services:4.4.0 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'runtimeElements' capability com.google.gms:google-services:4.4.0 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'sourcesElements' capability com.google.gms:google-services:4.4.0 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
   > Could not resolve com.android.tools.build:gradle:8.2.2.
     Required by:
         project : > com.android.application:com.android.application.gradle.plugin:8.2.2
      > No matching variant of com.android.tools.build:gradle:8.2.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.2' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:8.2.2 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'javadocElements' capability com.android.tools.build:gradle:8.2.2 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'runtimeElements' capability com.android.tools.build:gradle:8.2.2 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')
          - Variant 'sourcesElements' capability com.android.tools.build:gradle:8.2.2 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.2')

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 328ms

当前系统Java版本:

java -version
  java version "1.8.0_401"
  Java(TM) SE Runtime Environment (build 1.8.0_401-b10)
  Java HotSpot(TM) 64-Bit Server VM (build 25.401-b10, mixed mode)

解决方法

错误核心是Gradle 8.2和Android Gradle Plugin 8.2.2要求Java 11及以上版本运行,但当前系统默认Java为8,导致依赖版本不匹配,按以下步骤修复:

1. 安装Java 11

打开Android Studio,依次进入:
Preferences(Mac)/Settings(Windows)→ Build, Execution, Deployment → Build Tools → Gradle
在Gradle JDK下拉菜单选择Download JDK,挑选Java 11版本(推荐Amazon Corretto或OpenJDK)完成安装。

2. 配置项目使用Java 11

  • 打开项目根目录的build.gradle(Project级),添加或修改配置:
plugins {
    id 'com.android.application' version '8.2.2' apply false
    id 'com.google.gms.google-services' version '4.4.0' apply false
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}
  • 打开模块级app/build.gradle,确保编译选项设置为Java 11:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    // 若使用Kotlin,添加以下配置
    kotlinOptions {
        jvmTarget = '11'
    }
}

3. 清理缓存并重新构建

执行命令清理缓存:

./gradlew clean

再重新运行签名报告命令:

./gradlew signingReport

临时替代方案(无需全局切换Java版本)

如果不想修改全局Java配置,可直接在命令中指定Java 11路径:

./gradlew signingReport -Dorg.gradle.java.home=/path/to/java11

(将/path/to/java11替换为你安装的Java 11实际路径,比如Android Studio下载的路径通常为~/Library/Java/JavaVirtualMachines/corretto-11.x.x/Contents/Home)

内容的提问来源于stack exchange,提问作者Harsh Master

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 15:47:32