前情摘要(仅供参考,不重要,等不及的可以直接看解决方案)
Android studio新版本创建项目后项目的build.gradle配置发生了改变,allproject配置移动到settings.gradle中,用dependencyResolutionManagement替代,如下:
旧版本build.gradle:
...
allprojects {
repositories {
mavenCentral()
google()
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven {
url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven {
url "https://jitpack.io" }
maven {
url "http://maven.aliyun.com/nexus/content/repositories/releases"}
}
}
...
新版本删除了allprojects项,在settings.gradle中新增如下:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
}
}
工程新建完成后,自动运行会发现报如下错误:
详细错误如下:
A problem occurred configuring root project 'android-demo'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20.
Required by:
project :
> Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20.
> Could not get resource 'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.5.20/kotlin-gradle-plugin-1.5.20.pom'.
> Could not HEAD 'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.5.20/kotlin-gradle-plugin-1.5.20.pom'.
> Connect to repo.maven.apache.org:443 [repo.maven.apache.org/127.0.0.1] failed: Connection refused: connect
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
解决方案:
在主工程的build.gradle,添加如下:
buildscript {
repositories {
// google()
// mavenCentral()
maven {
url 'https://plugins.gradle.org/m2/' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/repositories/google' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/groups/public' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} //复制这行
}
......
}
在主工程的settings.gradle中添加如下内容:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// google()
// mavenCentral()
// jcenter() // Warning: this repository is going to shut down soon
maven {
url 'https://plugins.gradle.org/m2/' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/repositories/google' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/groups/public' } //复制这行
maven {
url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'} //复制这行
}
}
.....