android项目使用阿里仓库

前言

在维护多年前的Android项目时,Android studio编译报错,很多三方依赖找不到,因为很多库已经多年不更新,没有上传到其他仓库,所以只能另寻他路!

解决

在Android项目中替换jcenter为阿里云镜像仓库,需要修改以下文件中的仓库配置:

1. 项目级build.gradle(Gradle 7.0以下版本):

1
2
3
4
5
6
7
8
// 文件路径:项目根目录/build.gradle
allprojects {
repositories {
// 使用阿里云镜像源替换下列两个原生仓库
maven { url 'https://maven.aliyun.com/repository/public' } // 替代jcenter()
maven { url 'https://maven.aliyun.com/repository/google' } // 替代google()
}
}

2. 新版本Gradle(7.0+)的settings.gradle配置:

1
2
3
4
5
6
7
8
9
// 文件路径:项目根目录/settings.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://maven.aliyun.com/repository/public' } // 核心镜像
maven { url 'https://maven.aliyun.com/repository/google' } // Google镜像
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } // Gradle插件镜像
}
}

3. 全局配置(添加至所有项目的通用仓库):~/.gradle/init.gradle文件中添加(适用于团队统一配置):

1
2
3
4
5
6
7
8
9
10
11
12
13
allprojects {
repositories {
all { ArtifactRepository repo ->
def url = repo.url.toString()
if (url.contains('jcenter.bintray.com')) {
project.logger.warn "Repository ${repo.url} replaced by aliyun."
remove repo
}
}
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
}
}