宁可枝头抱香死,何曾吹落北风中。这篇文章主要讲述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"版本。
文章图片
【Android开发(《Gradle Recipes for Android》阅读笔记(翻译)2.4——更新新版本的Gradle)】如果你没有及时点击更新按钮,你也可以直接修改文件,将URL中的bin替换成all。
推荐阅读
- (Android数据传递)Service和Activity之间-- 借助BroadcastReceiver--的数据传递
- (文件操作)Android相关的File文件操作
- Android面试套路题越来越深入
- Android开发之Retrofit+RxJava的使用
- 启动avd Android模拟器缓慢 HAXM自动安装失败
- Android之Activity系列总结--Activity的四种启动模式
- Android深入源码分析理解Aidl整体调用流程(雷惊风)
- Android 官方示例(android-architecture 学习笔记之todo-mvp)
- Android之Activity系列总结--任务和返回栈