问题:

你需要更新应用的Gradle版本。

解决方案:

生成一个新的wrapper,或者直接修改属性文件(.properties)。

讨论:

Android Studio包含了一个Gradle的分发。当你创建一个新的android应用的时候,IDE自动为Unix和windows生成gradlew和gradlew.bat脚本。这些“wrapper”脚本允许你再没有安装gradle之前使用它。替代的,wrapper脚本自动下载并安装指定版本的gradle。

软件工程持续了很长时间,gradle定期发布新版本。你也许会想要更新到新的版本,因为有更好的性能,或者因为一些新的特性。为了实现这些,你有两个选项:

1、在build.gradle文件中增加一个wrapper任务,并且生成新的wrapper脚本

2、直接编辑gradle-wrapper.properties文件中distributionUrl的值

如果你的项目已经加载了新版本的gradle,第一种方法是最好的选项。默认的gradle 配置已经包含了一个叫wrapper的任务(可以使用tasks指令查看,'./gradlew tasks')。

gradle wrapper命令行提供了一个 --gradle-version的参数。可以通过这种方式指定一个版本来重新生成wrapper。如:

另一种选择是明确的在顶级的build文件中增加wrapper任务,并且指定gradleVersion值,如下:

在这些变更之后,运行./gradlew任务将会生成一个新的wrapper文件。

偶尔存在的wrapper实在太老了,以至于android studio拒绝同步已有的build文件,使得无法运行任何任务。在这种情况下,你可以直接找到控制wrapper的文件。

除了gradlew和gradlew.bat脚本外,wrapper还依赖于gradle/wrapper文件夹下的两个文件,gradle-wrapper.jar和gradle-wrapper.properties,如下图:

gradle-wrapper.properties文件包含了distributionUrl属性,用来标示从哪里下载需要的版本的gradle,如下:

#Fri Feb 03 14:50:11 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip

可以直接编辑文件,改变为想要的版本号。这可以运行你执行已有的wrapper脚本。

你可以通过命令行标志,或者使用wrapper脚本增加二进制分发(注意url结尾的bin)的方式更新gradle。Android Studio会有一个下载完整的包含源码的分发的提示,如下:

当你点击链接的时候,gradle-wrapper.properties文件中的distributionUrl值就会变成"all"版本。

如果你没有及时点击更新按钮,你也可以直接修改文件,将URL中的bin替换成all。

Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle的更多相关文章

  1. Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)

    如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...

  2. Android开发工具全面转向Android Studio(2)——AS project/module的CRUD

    本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...

  3. 配置cordova的android开发环境(无android studio)

    原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...

  4. 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。

    AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...

  5. Eclipse搭建Android开发环境并运行Android项目

    Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...

  6. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档

    问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...

  7. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.1——推荐配置

    问题: 你想要提高Gradle的构建效率. 解决方案: 使用下面推荐的技术组合. 讨论: 首先,这里没有可以影响app表现的建议.有很多你可以做的事来提高app,很多都和Android的混淆工具有关. ...

  8. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.3——用Eclipse ADT导出App

    问题: 想在一个已经存在的Eclipse ADT的项目中使用Gradle 解决方案: Eclipse ADT插件可以帮助生成Gradle文件 讨论: Eclipse的ADT插件是在2013年推出Gra ...

  9. Android开发:《Gradle Recipes for Android》阅读笔记1.2

    在android开发中会需要配置使用app的android SDK的最低版本和目标版本,这个是bulidl.gradle的android模块设置.默认有以下几个设置: applicationId,这个 ...

随机推荐

  1. Linux学习笔记 (六)用户管理命令

    一.用户帐号 1.超级用户:具有操作系统中的最高权限,用来管理和维护操作系统.root用户. 2.普通用户:由root用户来创建,在宿主目录中具有完全权限. 3.程序用户:由应用程序添加,维护某个应用 ...

  2. BZOJ 1016 JSOI 2008 最小生成树计数 Kruskal+搜索

    题目大意:给出一些边,求出一共能形成多少个最小生成树. 思路:最小生成树有非常多定理啊,我也不是非常明确.这里仅仅简单讲讲做法.关于定各种定理请看这里:http://blog.csdn.net/wyf ...

  3. mongoDB 高级查询之取模查询$mod

    http://hancang2000.i.sohu.com/blog/view/235140698.htm $mod取模运算   查询age取模10等于0的数据 db.student.find( { ...

  4. C/C++中,空数组、空类、类中空数组的解析及其作用

    转自:http://blog.sina.com.cn/s/blog_93b45b0f01015s95.html 我们经常会遇到这些问题: (1)C++中定义一个空类,他们它的大小(sizeof) 为多 ...

  5. Silverlight实例教程 - Validation数据验证开篇

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  6. linux-centos7中lnmp服务器编译安装含systemctl启动service(转)

    centos7 nginx  mysql  php 可以分开安装  然后在配置nginx互php的 先安装一些必要的库 ---------------------------------------- ...

  7. CentOS 7中mariadb编译安装教程systemctl启动

    mariadb做为mysql的替代品 现在centos的新版本yum包已换成mariadb 跟上篇一样只是启动方式改为systemd 安装一些库 yum install gcc gcc-c++ wge ...

  8. 编辑HTML代码,批量制作博文清单

    当积累的博文多了,常想制作一个分类文件夹,方便读者阅读.这能够是一个不轻松且枯燥的工作. 以<关于"IT学子成长指导"专栏及文章文件夹>中文件夹的制作为例.介绍我的&q ...

  9. 网页CSS font-size使用em替代px

    px和em都是长度单位,区别是,px的值是固定的,em的值是相对的,并且em会继承父级元素的字体大小. 任意浏览器的默认字体高都是16px.所以未经调整的浏览器都符合: 1em=16px.那么12px ...

  10. UML类图详解_泛化关系

    泛化其实就是继承关系,还是比较简单的,那么我们就把之前有些问题的博客UML类图重新来实现一次. 依旧是这个图 下面我们来看一个例子 Account.h #include <cstdlib> ...