Android的Gradle技巧 2.4升级到较新版本的Gradle_gradle-2.4-程序员宅基地

技术标签: gradle  maven 2  android  android studio  Android  

2.4升级到较新版本的Gradle
问题
您需要更改应用程序使用的Gradle版本。

生成新的包装器,或直接修改属性文件。
讨论
Android Studio包括Gradle发行版。当您创建新的Android应用程序时,IDE会自动为Unix生成gradlew脚本,并为Windows生成gradlew.bat文件。这些是“包装器”脚本,允许您使用Gradle,而无需手动安装它。相反,包装器脚本为您下载并安装了一个Gradle版本。
然而,软件项目需要很长时间,Gradle定期发布新版本。您可能希望更新您的项目中使用的Gradle版本,出于性能原因(每个新版本更快),或者因为新功能已添加到项目中。为此,您有两个主要选项:
1.将包装器任务添加到build.gradle文件中,并生成新的包装器脚本
2.直接在gradle-wrapper.properties中编辑distributionUrl值
如果您的项目已加载当前版本的Gradle,第一个选项最有效。默认情况下,Gradle构建已经包括所谓的包装器任务,您可以通过运行gradle tasks命令查看它,如例2-18所示。
实例2-18。任务列表中的包装器任务
> ./gradlew tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
// ...
Build Setup tasks
-----------------
wrapper - Generates Gradle wrapper files. [incubating] //1
// ...
BUILD SUCCESSFUL
1内置封装任务
gradle wrapper命令支持--gradle-version参数。因此,在示例2-19中显示了以所需版本重新生成包装器的一种方法。
实例2-19。在命令行上指定包装器版本
> ./gradlew wrapper --gradle-version 2.12
:wrapper
BUILD SUCCESSFUL
Total time: ... sec

另一个选项是将包装器任务显式添加到(顶级)构建文件,并为gradleVersion指定值,如示例2-20所示。
实例2-20。在顶层build.gradle文件中显式Gradle包装器任务
task wrapper(type: Wrapper) {
gradleVersion = 2.12
}
使用此更改,运行./gradlew包装器任务将生成新的包装器文件。
然而,每隔一段时间,现有的包装器是如此老,And​​roid Studio拒绝与现有的构建文件同步,使其不可能运行任何任务。
在这种情况下,您可以随时直接转到控制包装器的文件,这些文件在包装器第一次运行时生成。
除了生成的脚本gradlew和gradlew.bat,包装器依赖于一个名为gradle / wrapper的文件夹和其中包含的两个文件,gradle-wrapper.jar和gradle-wrapper.properties,如例2-21所示。
实例2-21。 Gradle包装文件
gradlew
gradlew.bat
gradle/wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
gradle-wrapper.properties文件(如示例2-22所示)包含distributionUrl属性,它告诉包装器在哪里下载所需的Gradle版本。
实例2-22。 gradle-wrapper.properties文件中的属性
#... date of most recent update ...
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.zip

Feed可以直接编辑此文件,将分发URL属性中的版本号更改为任何您喜欢的。这应该允许你运行现有的包装器脚本没有问题。
使用命令行标志或显式包装器任务升级Gradle仅添加二进制分发(请注意URL中的bin值)。然后,Android Studio会提供下载完整的发行版本(包括源代码),并提示如图2-4所示。


图2-4。 Android Studio产品升级到源代码发行版
单击链接时,gradle-wrapper.properties中的distributionUrl属性中的值将更改为所有版本,如示例2-23所示。
实例2-23。 gradle-wrapper.properties文件中的升级属性
#... date of most recent update ...
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-all.zip //1

1分发现在使用所有版本,其中包括来源
如果您错过了点击升级链接的机会,您可以随时直接修改文件,将URL替换为全部。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sergeycao/article/details/54340912

智能推荐

数据存储之SQLite 数据库存储——第一行代码Android学习笔记_第一行代码sqliteopenhelper-程序员宅基地

文章浏览阅读1.3k次。SQLite 是一款轻量级的关系型数据库, 它的运算速度非常快,占用资源很少。存储大量复杂的关系型数据的时候使用。一、创建数据库SQLiteOpenHelper帮助类, 借助这个类就可以非常简单地对数据库进行创建和升级。SQLiteOpenHelper 中有两个抽象方法,分别是onCreate()和onUpgrade(),我们必须在自己的帮助类里面重写这两个方法,然后分_第一行代码sqliteopenhelper

JavaScript同步与异步_js放入定时任务中 是异步吗-程序员宅基地

文章浏览阅读951次,点赞4次,收藏13次。JavaScript的运行机制运行栈JavaScript的执行环境是 单线程 的,所谓单线程,就是每次都只能做一件事,后面的事必须等前面的执行完才可以进行。console.log(1);console.log(2);console.log(3);console.log(4);// 1, 2, 3, 4但是这有一个弊端,如果中途遇到某个操作长时间无法执行完成,那么后面的任务就必须排队等待,这严重影响了整个执行过程,会导致浏览器无响应。为了解决这个问题,JavaScript将任务分为了 ._js放入定时任务中 是异步吗

Qt>常见的容器汇总:QByteArry,QObject_qbytearry属于qobject 数据类型不-程序员宅基地

文章浏览阅读283次。Qt常见模板汇总QByteArray,在串口通讯中经常被使用_qbytearry属于qobject 数据类型不

pandas(3)缺失值重复值以及时间类型的处理_pandas 根据日期回补数据-程序员宅基地

文章浏览阅读1.7k次。1、缺失值的表现形式:不区分大小写 NAN nan NaN 都是空值2、怎么创建缺失值:None 或者np.nan3、pandas处理缺失值判断isnull()检测整张表中的缺失值的数据df.isnull().any(axis=1)判断哪行中有空值 因为是按列的数据统计的 所以axis=1df.isnull().any(axis=0)判断哪列中有空值。。df.notnull().all(axis=1)判断哪些行中有非空值。。df.notnull().all(axis=0)判断哪些列中有非空值_pandas 根据日期回补数据

C语言——白盒测试_c语言白盒测试方法-程序员宅基地

文章浏览阅读2.8w次,点赞12次,收藏34次。测试C语言部分代码_c语言白盒测试方法

随便推点

【实验记录】U-Net训练自己的数据集(Keras)_自定义数据集训练u-net-程序员宅基地

文章浏览阅读1.8w次,点赞20次,收藏183次。论文地址:https://arxiv.org/abs/1505.04597代码地址:https://github.com/zhixuhao/unetCUDA 8.0cuDNNTensorflow 1.2.1Keras 2.0.6Python 3.5代码说明可以运行一下代码中自带的数据集 membrane 看看:正常训练的话是这个样子: 是执行训练的主文件,其中:在 下创建自己的数据集文件夹,比如 。在 mydata 下创建 和 文件夹用于存放训练和测试数据。其中 和 中分别存_自定义数据集训练u-net

互联网创业创意养成记5 - 剑走偏锋非正道_剑走偏锋反例-程序员宅基地

文章浏览阅读1.2k次。例外情况创新市场高效反馈性和先动者优势导致的第一个进入市场的公司根本无法被撼动的这两个观点一直存在争议,因为我们很容易就能找到现实存在的并没有完全符合这两个规则的反例出来。以上一年被苹果以30亿美元收购掉的Beats耳机公司为例,该公司其实打破了本文描述的所有规则然后依然获得成功,究其原因是因为流行音乐这种潮流行业公司天生就是变幻无常且充满不稳定因数的。再看微软的Surface平板电脑,虽然微软后来_剑走偏锋反例

jQuery 语法实例_jquery 语法是为 html 元素的选取编制的,可以对元素执行某些操作。$(this).hide-程序员宅基地

文章浏览阅读478次。jQuery 语法jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。基础语法是:$(selector).action()美元符号定义 jQuery 选择符(selector)“查询”和“查找” HTML 元素 jQuery 的 action() 执行对元素的操作 示例$(this).hide() - 隐藏当前元素$("p").hide() -_jquery 语法是为 html 元素的选取编制的,可以对元素执行某些操作。$(this).hide()

关于这几天使用IOS的ASYNCSOCKET完成无限后台的过程_ios gcdasyncsocket 进入后台运行-程序员宅基地

文章浏览阅读1k次。这几天用了下ASyncSocket完成前后台即时通讯,当时有想过用消息推送的技术实现的,可是后来想到消息推送的不可靠性还是算了。于是使用了tcp/ip实现后台主动发送数据给前台的功能。最开始设计后台的时候,我有考虑到数据量比较大的问题,所以数据大的时候我会使用分包和组包的功能去实现。TCP/IP在传输数据的时候,一般不会大于1500字节,所以我每512字节分了一个包。然后当一次性数_ios gcdasyncsocket 进入后台运行

linux注册表+快捷健+tracker_linux 系统注册表位置-程序员宅基地

文章浏览阅读1.4k次。今天没事,把以前零零散散的从网上学的知识或是技巧整理一下,以防时间长了忘了。做的是另一类工作,真的没多少时间学习linux相关的东西了......==============================================1.gconf-editor ----->linux下的注册表,可以修改一些东西,并定义快捷键2.Linux下的快捷键(这个可以在ubuntu的系统-->首选项_linux 系统注册表位置

安卓之读取raw文件夹下得txt文件_android studio raw 文本-程序员宅基地

文章浏览阅读4.7k次,点赞2次,收藏7次。Demo:读取res/raw下存放的一个text文件_android studio raw 文本

推荐文章

热门文章

相关标签