问题:

你需要更新应用的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。

最新文章

  1. jQuery整理
  2. Web接口测试工具--Jmeter
  3. 好用的第三方控件,Xcode插件(不断更新)
  4. SQL语句 在一个表中插入新字段
  5. volatile使用详解
  6. WPF 一个数据库连接测试的实现
  7. 镜面电火花EDM加工技术资料,模具行业的人应该好好看看!
  8. flash Ane
  9. (中等) HDU 4069 Squiggly Sudoku , DLX+精确覆盖。
  10. 请求ajax失败的原因(进入到error)
  11. Ubuntu下crontab启动、重启、关闭命令
  12. ASP.Net WebAPI中添加helppage帮助页面
  13. 20165236 实验四 Android程序设计
  14. fedora23 桌面工具栏fedy, 桌面美化 allow: 2'lau不是2'l2u
  15. java递归 处理权限管理菜单树或分类
  16. js实现获取URL参数
  17. 十步轻松搞定IIS+PHP环境搭建
  18. Unity3D热更新LuaFramework入门实战
  19. 浅谈Obejct.assign
  20. htm-文字标签和注释标签

热门文章

  1. observer pattern 之我见
  2. Centos6.0 通过devtoolset-2工具安装gcc 4.8
  3. Tp框架—方法中处理数据
  4. odoo8编辑视图中sheet边距过宽问题调整
  5. GBDT--简单理解
  6. <转>c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl
  7. Python中json.loads解析包含\n的字符串会出错
  8. 推荐系统学习03-SVDFeature
  9. Atitit。监听键盘上下左右方向键事件java js jquery c#.net
  10. 游戏引擎 Unity 的入门易精通难体现在哪?为什么?