Android Studio 3.0以后,以下状况基本不会发生了,就当方法废弃吧
从GitHub导入新项目时,总是在gradle运行中卡壳,各种依赖包无法从jcenter或者Maven仓库下载下来,公司网也差……一上午就这么废了。 如果你也跟我拥有同样的烦恼,来试试下面这个解决方案吧。
1.先在.gradle的目录中新建一个文件(init.gradle)
Windows:放在 "C:Users(替换为你的)Administrator.gradle" 目录下
init.gradle位置
Ubuntu:放在 "/home/(替换为你的)用户名/.gradle" 目录下
init.gradle位置
init.gradle 文件会在gradle 命令行运行时先被调用来进行初始化,gradle语言使用的是Groovy,跟Java类似
代码语言:javascript复制allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
def url = repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com'))) {
project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'
remove repo
}
}
maven {
url REPOSITORY_URL
}
}
}
我用这种方法之前,给Android Studio挂上过代理,所以左侧的两个properties文件中会保留127.0.0.1和端口信息两条语句,以后用不着代理的,可以删除。
代理
在Android Studio中验证gradle版本, Windows:gradlew -v 或 gradle -v Ubuntu:gradle -v (为什么今天运行./gradlew -v说权限不足呢……TAT)
验证gradle版本
如果如下图,恭喜,不需要配置了
gradle版本.png
****以后开启软件,如果gradle自动构建失败,你可以在界面右下角手动停止,然后在终端中输入 (windows) "gradlew"; (ubuntu) "./gradlew" 即可build整个project****
gradle设置
按我的理解,其实gradlew不是真正在操作系统环境下运行gradle命令,而仅仅是基于Android Studio环境来运行的。
要想配置好AS的gradle环境,需要打开settings界面的Gradle选项。
对了,当然还是推荐手动配置OS的gradle环境变量,恩,自行百度……
"Use default gradle wrapper(recommended):表示使用默认的gradle版本当作运行环境,如果没有缓存到本地".gradle/wrapper/dists"目录下,则自动到服务器上去下载,恩,一般新导入的项目运行缓慢,大都是正在网上下载这玩意儿。
"Use local gradle distribution":选用本地的gradle目录,恩,这个依赖本地Jdk包一样,去官网下载一个版本的zip解压到本地,然后配置目录而已。以后就省心了,注意,gradle版本别超过你的Android Studio可支持的版本,比如AS 2.2.3支持gradle最高为2.14.1。
"Offine work":就是离线运行啦,只调用本地.gradle文件夹下面的缓存(大概)
OK大致就是这样的,可能还有一些没想到的,之后再补充吧。