Android sutdio 手动配置Gradle Home为什么总是无效

问题

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

需要解决上面问题,需要了解一下知识。

Android Studio怎么知道该用哪个Gradle呢?

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

{your project}/gradle/wrapper/gradle-wrapper.properties
  •  
#Mon Sep 28 16:15:03 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

最后一排的distributionUrl 决定了这个项目使用的gradle版本,也就是说不同的项目可以使用不同的gradle版本

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

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

(1) 修改gradle-wrapper.properties

修改gradle-wrapper.properties 中的 distributionUrl,改成我们想要的版本,只改后面的版本就可以了,前面的部分不要改。具体版本看下面链接:

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

(2) 打开项目

这个时候AS将自动下载gradle,并创建好目录。这时直接干掉Android Studio并退出,因为这一步是为了得到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-2.4-all.zip,将下载的gradle-2.4-all.zip复制到上图中一串乱码的文件夹下,注意不要解压。这样我们就跳过了下载gradle这一步。

(4) 重新开启Android Studio,打开工程,ok,一下子就打开了.
另外,需要注意的是,gradle插件和gradle是两个独立的东西,gradle插件版本是由项目最外层的build.gradle文件决定的

 

 

你可能感兴趣的:(安卓常见问题)