zoukankan      html  css  js  c++  java
  • 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}.gradlewrapperdists
    如何查看自己电脑该文件地址:
    如果是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}.gradlewrapperdists
    进入对应的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}gradlewrappergradle-wrapper.properties文件中的配置去gradle


    最后特别感谢本文作者细心整理,本文转载自http://blog.csdn.net/fuchaosz/article/details/51567808

  • 相关阅读:
    HDU 1358 Period (KMP)
    POJ 1042 Gone Fishing
    Csharp,Javascript 获取显示器的大小的几种方式
    css text 自动换行的实现方法 Internet Explorer,Firefox,Opera,Safar
    Dynamic Fonts动态设置字体大小存入Cookie
    CSS Image Rollovers翻转效果Image Sprites图片精灵
    CSS three column layout
    css 自定义字体 Internet Explorer,Firefox,Opera,Safari
    颜色选择器 Color Picker,Internet Explorer,Firefox,Opera,Safar
    CSS TextShadow in Safari, Opera, Firefox and more
  • 原文地址:https://www.cnblogs.com/freewsf/p/11232273.html
Copyright © 2011-2022 走看看