关于Gradle和Gradle插件的问题

Posted 不积跬步-无以至千里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Gradle和Gradle插件的问题相关的知识,希望对你有一定的参考价值。

一、   Gradle更新插件问题

        当更新Andorid studio 的时候,你可能会接收到一条让你更新Gradle插件到最新版本的建议。在项目编译需要的基础上,你可以选择接受或者手动选择一个具体的版本。

    下图的表格是Andorid Gradle插件的版本和Gradle版本的对应关系。为了最好的编译表现,你应该使用最新的Gradle插件版本和与之对应的最新的Andorid Gradle 插件的版本:

   

注释:左侧是Andorid gradle插件的版本,右侧是gradle的版本。


那么在哪里指定Andorid gradle的插件版本呢?

(1)在最外层的build.gradle文件中

buildscript {
  ...
  dependencies {
    classpath \'com.android.tools.build:gradle:2.3.2\'
  }
}

(2)Andorid studio 中选择File > Project Structure > Project

 

 

1.gradle的配置

 

当我们在setting下gradle下设置gradle选择“use defalut gradle wrapper(recommended)”时,as就会根据{project.dir}\\gradle\\wrapper\\gradle-wrapper.properties文件中的配置去gradle

 

 

我们用as构建android项目时,配置gradle时我们必须在{project.dir}\\gradle\\wrapper\\gradle-wrapper.properties文件中配置gradle包,  配置的gradle必须在缓存目录( “用户主目录/.gradle/wrapper/dists/gradle-*.*.*”)或者在as安装目录下的gradle目录下存在对应的版本。

 

例如我的电脑:C:\\Users\\dsfg\\.gradle\\wrapper\\dists\\gradle-2.4-all
 
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\\://services.gradle.org/distributions/gradle-2.2.1-all.zip

这个配置的gradle如果在目录“用户主目录/.gradle/wrapper/dists/..”存在的话,as就不会去https\\://services.gradle.org/distributions/gradle-2.2.1-all.zip去下载了,as就会利用该目录下的缓存,如果该目录下不存在gradle的话as就会去站点根据gradle的版本去下载到“用户主目录/.gradle/wrapper/dists/gradle-2.2.1-all”目录下.

如果选择的是“use local gradle distribution”的话表示用的是本地的gradle,本地的gradle是在as的主目录下的gradle目录下,比如我的电脑D:\\android开发环境\\android-studio-ide-143.2739321-windows\\android-studio\\gradle\\gradle-2.10,而不会去缓存目录 “用户主目录/.gradle/wrapper/dists/gradle-*.*.*”中去找。

“global gradle setting”我们暂时不考虑

 

 

2.android gradle 插件的配置

上面我讨论的是gradle的配置,下面我们来说说android gradle 插件的配置,我们通过主工程项目的build.gradle(不是module的build.gradle)来设置android gradle 插件

 

 在build.gradle中

dependencies {
    classpath \'com.android.tools.build:gradle:2.0.0\'}

  这里配置的android gradle插件的版本是2.0.0,再一次强调我们一定要记住gradle版本和android gradle插件的版本根本不是一回事,不能混为一谈,

下面是android studio版本, gradle版本,android gralde 插件的版本关系对应表

 

 

官网链接:https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin 

 

 二、Android Studio 在mac中出现卡在building gradle project info的解决方法

1.找到.gradle目录,一般在/User/<用户名>/下;

 

 macOS Sierra 10.12.3可以直接快捷键 shift+command+. 显示隐藏的文件即可看到.gradle文件夹。

2.进入.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9文件夹下,删除.part文件

3.去gradle网站:https://services.gradle.org/distributions/下载对应的gradle-3.3-all.zip文件,下载完成后不用解压直接放入55gk2rcmfc6p2dg9u9ohc3hw9文件夹下

4.重新打开android studio问题就可以解决

注:其他版本gradle解决方法类似。
参考链接:http://www.2cto.com/kf/201706/644407.html

 

 

 

以上是关于关于Gradle和Gradle插件的问题的主要内容,如果未能解决你的问题,请参考以下文章

片段内部静态类和gradle问题

编写 Gradle 插件时的 Gradle Api Sources 和 Doc

运行黄瓜并生成没有maven / gradle插件的html报告

gradle、sonarqube 和 jacoco 插件的哪些版本兼容

Android Gradle 插件Gradle 自定义 Plugin 插件 ② ( buildSrc 目录中实现 Gradle 插件 | 实现 Gradle 插件代码 | 模块引入插件并编译 )

Android Gradle 插件Gradle 自定义 Plugin 插件 ⑤ ( 自定义插件中获定义方法 | 在插件中创建 Gradle 任务 | 代码示例 )