一、   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插件的问题的更多相关文章

  1. 使用gradle的application插件进行Spring-boot项目打包

    1:在build.gradle中增加以下配置 fat jar并不总是一个合适的选择,比如需要依赖跟jar分离,使用gradle的application插件就可以做到. 在GradleTest项目中,b ...

  2. Gradle自己定义插件

    Gradle自己定义插件 在Gradle中创建自己定义插件,Gradle提供了三种方式: 在build.gradle脚本中直接使用 在buildSrc中使用 在独立Module中使用 开发Gradle ...

  3. VS Code Java 更新 – 全新Gradle for Java插件,更方便的代码操作, 1.0 语言支持发布

    大家好,欢迎来到 9 月版的 Visual Studio Code Java 更新.在这篇文章中,我们将分享我们最新的Gradle插件,更加方便的代码操作(Getter/Setter等等),以及最近的 ...

  4. Gradle、Gradle Wrapper与Android Plugin for Gradle

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  5. 彻底搞懂Gradle、Gradle Wrapper与Android Plugin for Gradle的区别和联系

    首先用一段通俗易懂但是不是非常专业的话描述一下三者的概念.区别和联系. Gradle是个构建系统,能够简化你的编译.打包.测试过程.熟悉Java的同学,可以把Gradle类比成Maven. Gradl ...

  6. Gradle之Gradle 源码分析(四)

    Gradle 的启动 constructTaskGraph runTasks finishBuild gradle 脚本如何编译和执 插件调用流程 一.Gradle 的启动 1.1 整体实现图 1.2 ...

  7. Gradle之Gradle 的基本使用(一)

    [Android 修炼手册]Gradle 篇 -- Gradle 的基本使用 预备知识 基本的 android 开发知识 了解 Android Studio 基本使用 看完本文可以达到什么程度 掌握 ...

  8. android gradle 和gradle plugin

    android gradle 和gradle plugin 1.安装完AS3.5.2创建完项目一运行,报了如下错误 Error:Could not find com.android.tools.bui ...

  9. Gradle笔记——Gradle的简介与安装

    本博客对Gradle进行一个简单的介绍,以及它的安装. Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具 可以切换的,基于约定的构建框架 强大的多 ...

  10. Chapter 3. Installing Gradle 安装gradle

    3.1. Prerequisites Gradle requires a Java JDK or JRE to be installed, version 6 or higher (to check, ...

随机推荐

  1. json手动解析详解

    项目中有时候仅仅需要一个或者多个字段时可以使用这种解析方式,省去创建实体类. 1.首先讲解下最基本的数据格式. 例如: String json="{'name':'小明','action': ...

  2. 用Wireshark分析Socket连接建立的过程

    0. 安装Wireshark,但是默认情况下,Wireshark无法捕获127.0.0.1的报文 解决方案:安装npcap,替换默认的winpacp,重新启动Wireshark,就可以看到一个名字中含 ...

  3. webservice原理及基于cxf开发的基本流程

    一.SOA和webservice SOA(service-Oriented Architecture)是面向服务的架构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的 ...

  4. 源码分析——迁移学习Inception V3网络重训练实现图片分类

    1. 前言 近些年来,随着以卷积神经网络(CNN)为代表的深度学习在图像识别领域的突破,越来越多的图像识别算法不断涌现.在去年,我们初步成功尝试了图像识别在测试领域的应用:将网站样式错乱问题.无线领域 ...

  5. 站点部署,IIS配置优化指南

    目录 一. 二. 三. 四. 五. 六. 七.       安全性 八.       多服务器IIS集中化管理web 通常把站点发布到IIS上运行正常后,很少会去考虑IIS提供的各种参数,如何配置才是 ...

  6. bzoj 5125: [Lydsy1712月赛]小Q的书架

    新学了一波 决策单调性 dp 套路.... 这种dp一般是长这样的 => f[i][j] = max/min  { f[i-1][k] + cost(k+1,j)} ,其中cost函数满足四边形 ...

  7. Java原子操作类,你知道多少?

    原子操作类简介 由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方案. 实际上,在J.U.C下的atomic包提供了一系列的操作简单,性能高效,并能保证线程安全的类去 更新基 ...

  8. HTTP 状态消息 [转]

    转自:https://www.cnblogs.com/wuyongyu/p/5745875.html    HTTP 状态消息                                     ...

  9. 苹果放宽了 iOS 5.0 对应用本地存储的限制

    iOS5.0引入了iCloud,让那些需要本地存储较多数据的app开发者(比如支持离线的杂志,新闻类app)陷入了 尴尬的境地,因为将大量数据存储在/Documents 文件夹将导致iCloud同步变 ...

  10. 代码篇之AOP框架

    AopFrameworkTest类 public class AopFrameworkTest { public static void main(String[] args) throws Exce ...