[AndroidStudio 系列(五)]AndroidStudio ⼿动配置Gradle 的⽅法
1 问题
(1) android sutdio第⼀次打开⼀个⼯程巨慢怎么办?
(2) ⼿动配置Gradle Home为什么总是⽆效?
(3) 明明已经下载了Gradle,配置了gradle home,为什么打开⼯程还是去⾃动下载Gradle?
2 简介
(1) Android Studio怎么知道该⽤哪个Gradle呢?
AS⼀个项⽬所⽤的Gradle是由我们的⼯程中下⾯这个⽂件决定的:
{your project}/gradle/wrapper/gradle-wrapper.properties
⽂件内容如下:最后⼀排的distributionUrl  决定了这个项⽬使⽤的gradle版本,也就是说不同的项⽬可以使⽤不同的gradle版本,这也就是为什么修改Gradle Home失败的原因。那么我们怎么知道gradle有哪些版本呢?答案是下⾯这个链接:
所以只要对着上⾯的链接,修改后⾯的gradle版本就可以了.
(2) Gradle保存在哪⾥?
Gradle是⼤家共⽤的,当然不会把Gradle放在项⽬⽂件中(不是不可以),AS将gradle保存在下⾯的⽬录:
Linux:
~/.gradle/wrapper/dists
windows:
C:\users\{user name}\.gradle\wrapper\dists
打开这个⽬录,可以看到下载好的gradle版本#Mon Sep 28 16:15:03 CST 2015distributionBase =GRADLE_USER_HOME distributionPath =wrapper/dists zipStoreBase =GRADLE_USER_HOME zipStorePath =wrapper/dists distributionUrl =https\:///distributions/gradle-2.4-all.zip
1
2
3
4
5
6
Android Studio打开⼀个⼯程时,⾸先会读取gradle-wrapper.properties ⽂件,从⽽知道这个⼯程需要哪个版本的gradle ,然后就会去保存gradle的⽂件夹GRADLE_USER_HOME 去看存不存在这个版本的gradle,不存在则会去distributionUrl 去下载
搞清楚了这个流程,现在是不是明⽩了,为什么第⼀次打开⼀个⼯程会巨慢了吧,因为AS会去下载gradle。为什么我明明下载了gradle,也指定了gradle的存放⽬录,可打开的时候还是会去⾃动下载gradle了,那是因为你没有配对地⽅。现在回过来看项⽬配置⽂件是不
是gradle/wrapper/gradle-wrapper.properties 是不是恍然⼤悟?
3 配置⽅法
既然搞清楚了原理,也知道打开慢的原因是卡在下载gradle这⼀步,那么我们就⾃⼰下载gralde,然后配置上去
(1) 修改gradle-wrapper.properties
修改gradle-wrapper.properties 中的 distributionUrl,改成我们想要的版本,只改后⾯的版本就可以了,前⾯的部分不要改。具体版本看下⾯链接:
(2) 打开项⽬
这个时候AS将⾃动下载gradle,并创建好⽬录。这时直接⼲掉Android Studio并退出,因为这⼀步是为了得到AS⾃动创建的下载⽬录,定位到下⾯的⽬录:
Linux:
~/.gradle/wrapper/dists
windows:
C:\users\{user name}\.gradle\wrapper\dists
进⼊对应的gradle版本⽂件夹下,会发现有⼀个⼀串乱码的⽂件夹,本例以gradle2.4为例,如下图:
(2) 下载gradle
从上⾯的Gradle下载地址,下载对应版本的gradle,本例中为gradle-2.4-all.zip,然后删除上图中的gradle-2.4-all.zip.part⽂件,将下载的gradle-2.4-all.zip复制到上图中⼀串乱码的⽂件夹下,注意不要解
压。这样我们就跳过了下载gradle这⼀步。
(3) 重新开启Android Studio,打开⼯程,ok,⼀下⼦就打开了.
4 Gradle 插件版本
gradle插件和gradle是两个独⽴的东西,gradle插件版本是由项⽬最外层的adle⽂件决定的
adle:
修改gradle插件版本之后,sync⼀下代码就可以了。
properties在哪打开
5 转载请注明来⾃”梧桐那时⾬”的博客:
Tips
如果觉得这篇博客对你有帮助或者喜欢博主的写作风格,就给博主留个⾔或者顶⼀下呗,⿎励博主创作出更多优质博客,Thank you.buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'ls.build:gradle:2.1.0'        // NOTE: Do not  place your application dependencies here; they belong        // in  the individual adle files    }}
1
2
3
4
5
6
7
8
9
10
11