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

文件内容如下:

#Mon Sep 28 16:15:03 CST 2015distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.4-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

打开这个目录,可以看到下载好的gradle版本

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,改成我们想要的版本,只改后面的版本就可以了,前面的部分不要改。具体版本看下面链接:

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版本文件夹下,会发现有一个一串乱码的文件夹,本例以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插件版本是由项目最外层的build.gradle文件决定的
app/build.gradle:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.1.0'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}

修改gradle插件版本之后,sync一下代码就可以了。

5 转载请注明来自”梧桐那时雨”的博客:http://blog.csdn.net/fuchaosz/article/details/51567808

Tips
如果觉得这篇博客对你有帮助或者喜欢博主的写作风格,就给博主留个言或者顶一下呗,鼓励博主创作出更多优质博客,Thank you.

更多相关文章

  1. android 各版本区别
  2. 移动安全-java JEB安装使用
  3. ubuntu android studio 打不开windows android studio创建的项
  4. Android开发规范最新详尽版下载
  5. Android(安卓)SDK 2.2 开发环境详解
  6. Android(安卓)SDK,ADT,以及API的理解
  7. AndroidX介绍及项目迁移
  8. 离线配置Android开发环境
  9. 教你如何在 Android(安卓)使用多线程下载文件

随机推荐

  1. Android(安卓)判断sd卡和sim卡是否可用
  2. 解决打开Android(安卓)Device Monitor一
  3. Android(安卓)Camera Framework Stream(
  4. RIL flow
  5. android 上的一个网络接口和图片框架
  6. android hasSystemFeature函数及系统特性
  7. Android(安卓)Internet应用实现获取天气
  8. Android(安卓)NDK开发之Hello world篇
  9. 搭建eclipse android开发环境的一点记录
  10. 【Android】Android(安卓)Support Annota