Android Studio 手动下载Gradle配置的方法

7 篇文章 0 订阅
4 篇文章 0 订阅

问题
(1) Android sutdio第一次打开一个工程巨慢怎么办?
(2) 手动配置Gradle Home为什么总是无效?
(3) 明明已经下载了Gradle,配置了gradle home,为什么打开工程还是去自动下载Gradle?

需要解决上面问题,需要了解一下知识。
Android Studio怎么知道该用哪个Gradle呢?

AS一个项目所用的Gradle是由我们的工程中下面这个文件决定的:

{your project}/gradle/wrapper/gradle-wrapper.properties
#Tue Mar 16 18:10:26 CST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

最后一排的distributionUrl 决定了这个项目使用的gradle版本,也就是说不同的项目可以使用不同的gradle版本,上面需要的gradle-6.8.3-bin.zip,有的可能是gradle-6.8.3-all.zip, 下载时下载对应的就行

原理:Android Studio打开一个工程时,首先会读取gradle-wrapper.properties 文件,从而知道这个工程需要哪个版本的gradle ,然后就会去保存gradle的文件夹GRADLE_USER_HOME 去找看存不存在这个版本的gradle,不存在则会去distributionUrl 去下载 搞清楚了这个流程,现在是不是明白了,为什么第一次打开一个工程会巨慢了吧,因为AS会去下载gradle。

Android Studio检查的路径在设置里的Gradle可以看到,根据上面的路径确定的绝对路径如下:C:\Users\xxxx.gradle\wrapper\dists
在这里插入图片描述

在这里插入图片描述
可以看到此目录下并没有gradle-6.8.3-bin

既然搞清楚了原理,也知道打开慢的原因是卡在下载gradle这一步,那么我们就自己下载gralde,然后配置上去 。

(1) 修改gradle-wrapper.properties

修改gradle-wrapper.properties 中的 distributionUrl,改成我们想要的版本,只改后面的版本就可以了,前面的部分不要改。具体版本看下面链接 (如果改为本地已下载的gradle版本,且是适合构建当前工程,那么从新构建就不用从新下载gradle了)

Gradle下载地址:https://services.gradle.org/distributions/

(2) 打开项目
这个时候 AS将自动下载gradle,并创建好目录 。这时直接干掉Android Studio并退出(如果能停止gradle的下载进程,不用退出AS也是可以的),因为这一步 是为了得到AS自动创建的下载目录 ,定位到下面的目录:

Linux:

~/.gradle/wrapper/dists

windows:

C:\users\{user name}\.gradle\wrapper\dists

注意:Gradle是大家共用的,所以当然不会把Gradle放在项目文件中(不是不可以)

接着进入对应的gradle版本文件夹下,会发现 有一个一串乱码的文件夹 ,下载的文件就是放在这个一串乱码的文件夹里。
在这里插入图片描述

(3) 下载gradle
从上面{your project}/gradle/wrapper/gradle-wrapper.properties
文件中的Gradle下载地址,下载对应版本的gradle,建议使用下载器进行下载,例如迅雷,本例中为gradle-6.8.3-bin.zip,将下载的gradle-6.8.3-bin.zip复制到上图中一串乱码的文件夹下, 注意不要解压 。这样我们就跳过了下载gradle这一步。
在这里插入图片描述
把下载好的文件gradle-6.8.3-bin.zip 放入下面的文件夹中即可,不需要解压。
在这里插入图片描述
(4) 重新开启Android Studio,打开工程,ok,一下子就打开了(如果是停止了下载进程,直接点击右上角的gradle图标重新构建就好了).

另外,需要注意的是,gradle插件和gradle是两个独立的东西,gradle插件版本是由项目最外层的build.gradle文件决定的

app/build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        //添加阿里云镜像,加快同步速度
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0-alpha10"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值