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

  • 相关阅读:
    分治fft
    DSU on tree
    最小矩形覆盖
    用gallery展示图片,实现中间图片稍大,两边较小的效果
    动态刷新listview中的数据
    比较两个文件是否一样
    安卓巴士Android开发神贴整理
    Failed to register input channel. Check logs for details.
    解决scrollview嵌套ImageView时,出现除顶部和底部黑块的问题
    获取系统图片,并放入ImageList
  • 原文地址:https://www.cnblogs.com/gzpu/p/12250803.html
Copyright © 2011-2022 走看看