【报错信息】
所用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 这样会增加系统盘的负担,最好修改一下。
【重新编译】
即成功!