Android Studio 配置Gradle
一, 问题:
①换个新电脑安装完Android Sutdio第一次打开一个工程巨慢怎么办?
② 手动配置Gradle Home为什么总是无效?
③ 明明已经下载了Gradle,配置了gradle home,为什么打开工程还是去自动下载Gradle?
二 简介
(1) Android Studio怎么知道该用哪个Gradle呢?
AS一个项目所用的Gradle是由我们的工程中下面这个文件决定的:
{your project}/gradle/wrapper/gradle-wrapper.properties
文件内容如下:
#Thu May 11 16:43:55 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

最后一排的distributionUrl 决定了这个项目使用的gradle版本,也就是说不同的项目可以使用不同的gradle版本,这也就是为什么修改Gradle Home失败的原因。
那么我们怎么知道gradle有哪些版本呢?答案是下面这个链接:
Gradle下载地址:https://services.gradle.org/distributions/
所以只要对着上面的链接,修改后面的gradle版本就可以了.
(2) Gradle保存在哪里?
Gradle是大家共用的,当然不会把Gradle放在项目文件中(不是不可以),AS将gradle保存在下面的目录:
Linux: ~/.gradle/wrapper/dists
Windows:C:\users\{user name}\.gradle\wrapper\dists
如何查看自己电脑该文件地址:
如果是windows 打开AS-Setting(Ctrl+Shift+S)找到Gradle即可查看路径,如下图:

根据这个路径去本地查找文件:

Android Studio打开一个工程时,首先会读取gradle-wrapper.properties 文件,从而知道这个工程需要哪个版本的gradle ,然后就会去保存gradle的文件夹GRADLE_USER_HOME 去找看存不存在这个版本的gradle,不存在则会去distributionUrl 去下载
搞清楚了这个流程,现在是不是明白了,为什么第一次打开一个工程会巨慢了吧,因为AS会去下载gradle。为什么我明明下载了gradle,也指定了gradle的存放目录,可打开的时候还是会去自动下载gradle了,那是因为你没有配对地方。现在回过来看项目配置文件是不是gradle/wrapper/gradle-wrapper.properties 是不是恍然大悟?
三,配置方法
既然搞清楚了原理,也知道打开慢的原因是卡在下载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版本文件夹下,会发现有一个一串乱码的文件夹,本例以gradle3.5为例,如下图:


(2) 下载gradle
从上面的Gradle下载地址,下载对应版本的gradle,本例中为gradle-3.5-all.zip,然后删除上图中的gradle-3.5-all.zip.part文件,将下载的gradle-3.5-all.zip复制到上图中一串乱码的文件夹下,注意不要解压。这样我们就跳过了下载gradle这一步。
(3) 重新开启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 {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
修改gradle插件版本之后,sync一下代码就可以了。
gradle和(android gradle插件)一定不能混为一谈,2者是有区别的。android gradle插件依赖于gradle。
1.gradle的配置
当我们在setting下gradle下设置gradle选择“use defalut gradle wrapper(recommended)”
时,as就会根据{project.dir}\gradle\wrapper\gradle-wrapper.properties文件中的配置去gradle

Android Studio 配置Gradle的更多相关文章
- Android Studio 配置Gradle总结
一, 问题:①换个新电脑安装完Android Sutdio第一次打开一个工程巨慢怎么办? ② 手动配置Gradle Home为什么总是无效? ③ 明明已经下载了Gradle,配置了gradle hom ...
- Android studio下gradle Robolectric单元测试配置
android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供 ...
- android studio 使用gradle 导出jar包,并打包assets目录
警告:本文年久失修. 随着android studio的升级 ,gradle的升级,严格按照本文的代码去做可能不会成功,希望依然可以作为解决问题的思路. 最近项目在做一个sdk,供别的开发者使用,所以 ...
- Android Studio :Android Studio 与 Gradle 深入【二】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255063&extra=page%3D2%26filter%3Dautho ...
- [转]--android studio 使用gradle 导出jar包,并打包assets目录
转自: http://www.cnblogs.com/wuya/p/android-studio-gradle-export-jar-assets.html 最近项目在做一个sdk,供别的开发者使 ...
- Android Studio 配置SVN实现代码管理
Refference From:http://iaiai.iteye.com/blog/2267346 一.Android Studio配置SVN Android Studio关联配置SVN很简单,在 ...
- Android studio 配置JNI环境
Android studio配置jni开发环境,主要配置是两个build文件,以及新建一个jni文件,放c代码. 代码如下1: apply plugin: 'com.android.model.app ...
- 快速掌握 Android Studio 中 Gradle 的使用方法
快速掌握 Android Studio 中 Gradle 的使用方法 Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build ...
- 4.0、Android Studio配置你的构建
Android构建系统编译你的app资源和源码并且打包到APK中,你可以用来测试,部署,签名和发布.Android Studio使用Gradle,一个高级的构建套件,来自动化和管理构建进程,同时可以允 ...
随机推荐
- GitHub项目简介
为了存放代码新建了一个GitHub账号,存放了一些比较常用的代码块,上面的模块大部分都能找到 index.html 文件直接在浏览器打开. 地址:https://github.com/liuzhou1 ...
- python正则非贪婪模式
上一篇python正则匹配次数大家应该也发现了,除了?其他匹配次数规则都是尽可能多的匹配 那如果只想匹配1次怎么办呢,这就是正则中非贪婪模式的概念了 原理就是利用?与其他匹配次数规则进行组合 单个匹配 ...
- 忘记win8开机密码的清除方法
1.进PE 2.打开计算机,进入 C:\Windows\System32 目录下 3.找到 magnify.exe 改名为 mangify1.exe .将 cmd.exe 改名为 magnify.ex ...
- bugku 变量1
变量1 题目信息 flag In the variable ! <?php error_reporting(0); include "flag1.php"; highligh ...
- vs rdlc 设置Tablix 在新页面重复表头
设置方法: 1.选中Tablix控件 2.点开三角形 3.选择高级模式 4.在行组 下 选择静态,然后看右边的属性 5.将属性设置为如下 就可以让Tablix控件实现在新页中带表头
- Linux - XShell - alt 快捷键的设置
1. 概述 命令行的 alt 快捷键可能会冲突 2. 环境 os win10 centos7 xshell xhell6 3. 场景 开启 centos7 虚拟机 在 win10 打开 xshell6 ...
- 存储引擎:engine
1.表类型: 默认的服务器表类型,通过my.ini文件可以手动修改配置:default-storage- engine=INNODB 在创建表,或者编辑表时,可以指定表的存储引擎: 语法:engine ...
- P&R --From 陌上风骑驴看IC
FLOORPLAN: 做好floorplan要掌握哪些知识技能 遇到floorplan问题,大致的debug步骤和方法有哪些 如何衡量floorplan的QA 以上是驴神提的五大点问题.鄙人狠狠地反驳 ...
- 谁说程序员没有时间关心女朋友的,Python 教你如何掌握女神情绪变化
很多人都是在朋友圈装死,微博上蹦迪.微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始 ...
- python web django 2nd level -- 待更新
练习代码位置 实例代码位置 --> app: myblog Form 利用Form表单验证,自己写的html 思路: 新建一个类 LoginForm(forms.Form) 新建对象 obj = ...