【解决Android Studio】Could not resolve com.android.tools.build:gradle:7.4.1

发布于:2024-05-02 ⋅ 阅读:(44) ⋅ 点赞:(0)

【报错信息】

所用IDE为Android studio2022 1.1 Patch 1。 使用Android Studio新创建的新工程,在build过程中报了以下错误:

A problem occurred configuring root project 'Application'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:7.4.1.
     Required by:
         project : > com.android.application:com.android.application.gradle.plugin:7.4.1
         project : > com.android.library:com.android.library.gradle.plugin:7.4.1
      > No matching variant of com.android.tools.build:gradle:7.4.1 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.5' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:7.4.1 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.5')
          - Variant 'javadocElements' capability com.android.tools.build:gradle:7.4.1 declares a runtime of a component, 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 '7.5')
          - Variant 'runtimeElements' capability com.android.tools.build:gradle:7.4.1 declares a runtime of a library, 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 '7.5')
          - Variant 'sourcesElements' capability com.android.tools.build:gradle:7.4.1 declares a runtime of a component, 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 '7.5')

【问题原因】

主要是JDK版本过低导致的问题,与Gradle7.5不匹配,更换高版本的JDK(>=11)即可。

【具体配置】

1. 可打开Gradle Scripts下的 gradle-wrapper.properties,看到本应用使用的gradle版本为7.5

#Fri Apr 26 11:26:01 CST 2024
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

2.查看程序默认的 JDK版本,依次在 File->Project Structure->SDK Location选择下面的蓝色字。

然后出现下面的弹框,可自定义调整,这里主要是选择合适的JDK。Gradle Home的选择主要是为了让Gradle负责的依赖管理放在自定义的路径下,避免多个不同的项目使用同一个Grale Home路径,导致版本之间的冲突,一般默认路径为 C:users/yourname/.gradle 这样会增加系统盘的负担,最好修改一下。

【重新编译】

即成功!