Android 开发中最常见的问题之一就是 Gradle插件和三方库依赖包无法下载或下载十分缓慢,如AndroidStudio导入项目时一直卡在 Building gradle project info 的问题,这些由于【墙】引起的问题,也是本文要解决两个难题。虽然我们可以通过翻墙解决,但指不定什么时间就行不通了。阿里云镜像的方式是个不错的替代选择,不仅行得通,还能够大幅度提高工程构建速度。
如何配置
配置其实很简单,参照 阿里云官方配置指南,将项目根目录下的 build.gradle 文件相应部分替换即可:
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
mavenLocal()
google()
jcenter()
}
dependencies {
//这里版本根据自己项目而定
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/public' }
mavenLocal()
google()
jcenter()
maven {
url 'https://jitpack.io'
}
}
}
由于查找相应库的顺序是从前到后,所以即使重复配置也是可行的,可以看到,我这里
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
与
google()
jcenter()
其实是重复的,防止在前者中找不到。关于这些仓库的区别,在[参考]中可找到。 配置简单,但实际操作中可能会遇到不少问题。
常见错误
1.代理配置问题
在更换为阿里云镜像之前,我们很可能启用了FQ软件,可能Android Studio 中配置了代理,如果你的报错信息中带有类似127.0.1
之类的文字,你首先要解决的就是取消代理设置:
- Appearance&Behavior -> System Setting -> HTTP Proxy 设为No Proxy ;
- 保证工程根目录下的
gradle.properties
的代理设置已经去掉; - 检查系统Gradle配置文件
.gradle/gradle.properties
中的代理配置已经去掉。注:mac 下 在/Users/用户名/.gradle/gradle.properties
windows下 在C:\Users\Administrator.gradle\gradle.properties
2.部分依赖库找不到报错
更换后,我们可能会发现,大部分库都已经下载了,但是有少部分库依然报红色错误,这很可能是阿里云仓库中没有相应的库。解决方法,可参照上面配置,将原库加上,阿里云找不到就在原库中找。
3.改后发现不奏效,无反应等
- build -> clean project;
- file -> invalidate caches / restart 两个万能操作,哪个好使用哪个。