Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle
问题:
你需要更新应用的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的更多相关文章
- Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...
- Android开发工具全面转向Android Studio(2)——AS project/module的CRUD
本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...
- 配置cordova的android开发环境(无android studio)
原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...
- 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档
问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.1——推荐配置
问题: 你想要提高Gradle的构建效率. 解决方案: 使用下面推荐的技术组合. 讨论: 首先,这里没有可以影响app表现的建议.有很多你可以做的事来提高app,很多都和Android的混淆工具有关. ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.3——用Eclipse ADT导出App
问题: 想在一个已经存在的Eclipse ADT的项目中使用Gradle 解决方案: Eclipse ADT插件可以帮助生成Gradle文件 讨论: Eclipse的ADT插件是在2013年推出Gra ...
- Android开发:《Gradle Recipes for Android》阅读笔记1.2
在android开发中会需要配置使用app的android SDK的最低版本和目标版本,这个是bulidl.gradle的android模块设置.默认有以下几个设置: applicationId,这个 ...
随机推荐
- Gitlab备份、迁移、恢复和升级
Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...
- tomcat进阶操作
1.使用war包部署web站点 [root@tomcat webapps]# pwd /application/tomcat/webapps [root@tomcat webapps]# rz ...
- 怎样优化cocos2d/x程序的内存使用和程序大小
再次感谢原创者:Steffen Itterheim.原创博客原文地址: http://www.learn-cocos2d.com/2012/11/optimize-memory-usage-bundl ...
- 阿里云ECS linux通过iptables 配置SNAT代理网关,实现局域网上网
场景说明: 本文将介绍如何通过为VPC中Linux系统的ECS实例配置SNAT,实现无公网ECS通过有EIP的服务器代理访问公网. 步骤: 1.使用SSH的方法登陆一个已经绑定EIP外网的ECS实例. ...
- utf8和utf-8的区别?
utf8和utf-8的区别? utf-8和utf8的区别? 今天再次区别 相信很多程序员刚开始也会有这样的疑惑,如题,我也是. 其实,他们可以这样来区分. 一.在php和html中设置编码,请 ...
- asp.net 复习总结
1.asp.net页面上格式化时间是:<%# Eval("jsBianhao", "{0:yyyy/MM/dd}")%>
- mac os x 使用scp取代sz rz
在windows下,能够通过secureCRT的sz来下载文件,而用rz来上传文件.在unix/linux下则不必.由于scp命令能够完毕这项目工作. sz file替代方案为:scp usernam ...
- Google Pagespeed,自动压缩优化JS/CSS/Image
Google Pagespeed,自动压缩优化JS/CSS/Image 浏览: 发布日期:// 分类:技术分享 关键字: Nginx Appache Pagespeed 自动压缩优化JS/CSS/Im ...
- 如何给unity3d工程加入依赖的android工程
最近在忙着接平台的事,需要接入各种各样的android平台sdk来发布.在接sdk的时候遇到了这样的一个情况,有点麻烦,所以纪录一下. 有些sdk的接入是提供jar包,这样的可以简单地将jar包制作成 ...
- iOS swift cookie创建存储移除
保存网络请求的cookies,并存储到UserDefaults中 //保存COOKIES static func saveCookies(for urlStr: String){ if let url ...