亲测可行,AndroidStudio 究竟如何配置gradle
一、你不想看到的 Gradle Build Running
话说在天朝当程序员也是很不容易的,不管是查阅资料还是下载东西,很多时候你会发现自己上网姿势不对,当然对大多数程序员来说,这都不是事儿。这次重新安装了最新版的AndrodiStudio,按照国际惯例,第一次启动当然是按默认程序走一波 Hello World。可是,很有可能,你会看到你不想看到的如下界面:

原因估计大家应该都知道,是你项目对应版本的 gradle 下载不下来造成的。在不改变上网环境的情况下,解决办法就是下载 gradle 到本地,然后做相应配置。下面主要说说怎么配置。
二、亲测可行的解决方案
2.1解决问题
打开项目中的 gradle-wrapper.properties 文件,如下:

意思就是在 GRADLE_USER_HOME/wrapper/dists/下面去找对应的 gradle 文件,没有的话,就去
到最后一行
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-all.zip
中的地址下载,其中 gradle-3.4.1-all.zip 这个说明你当前工程配置的 gradle 的版本为 3.4.1。所以需要下载该版本的gradle,
你可以到这里下载:
http://services.gradle.org/distributions/
网上有热心人士的共享:
gradle-x.x-all.zip各个版本的离线包集合
接下来打开 AndroidStudio 中 gradle 的设置界面,如下:

可以看到,默认的 gradle 的目录是C:/Users/SharpCJ/.gradle,进入该目录
C:\Users\SharpCJ\.gradle\wrapper\dists\gradle-x.x-all\,可以看到有一串看起来像乱码字符的文件夹,进入,删掉里面的 gradle-x.x-all.zip.lck 和 gradle-x.x-all.zip.part 文件,然后把前面下载下来的对应的 gradle-x.x-all.zip 文件放进去,不用解压,然后 Ctrl+F9,重新编译工程,则会自动解压。OK,问题解决了。
2.2 更改 gradle 版本
假设现在要自己改变 gradle 版本,同样的道理,改 gradle-wrapper.properties 文件中最后一行版本号,然后编译则会生成对应的乱码字符的文件夹,然后按上面的操作进行,注意不能手动新建文件夹。
但是有时候,你会发现,编译的时候仍然会报错,这时候,很有可能是你选择的 gradle 版本太低了。gradle的版本还需要和 gradle 插件的版本对应,提高 gradle 版本即可。
三、gradle 和 gradle 插件的区别
我们知道,AndroidStudio 是基于 gradle 构建项目的,安装 gradle插件 才能使系统能支持运行 gradle。安装 AndroidStudio 后就已经帮我安装了 gradle插件.但 gradle插件是独立于Android Studio运行的,所以它的更新也是与 AndroidStudio 分开的。
打开工程的 build.gradle 文件,能看到如下界面:

这个就是 gradle插件的版本号。下图展示了 gradle插件 和 gradle 之间的对应关系:

因为 gradle 在不断更新,自然 gradle插件也需要不断更新版本才能提供对新版本gradle的支持,所以最好让你的Gradle和Gradle插件都更新到最新。
更新 gradle 插件的方法:
通过选择 File > Project Structure > Project 来指定Gradle版本,然后点击 Tools > Android > Sync Project with Gradle Files 去下载。
亲测可行,AndroidStudio 究竟如何配置gradle的更多相关文章
- MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)
注: 本文来源于:Smile_Miracle 的< MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行) > 第一步:关闭ME,去一下地址下载jad的反编译 ...
- pycharm 配置autopep8(亲测可行)
autopep8是一个可以将Python代码自动排版为PEP8风格第三方包,使用它可以轻松地排版出格式优美整齐的代码.网络上有很多介绍如何在pycharm中配置autopep8的方案,但很多方案中还是 ...
- vegas pro 15解决导入的视频和音频有噪声问题,亲测可行
中文步骤: 按住Shift->点击选项->首选项,松开Shift 点击右上角"内部"选项卡,在最下面的搜索栏输入SO4 找到第二项Enable So4 Compound ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- VS2008配置OpenGl 亲测可行
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.1.与C语言紧密结合.OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是 ...
- mysql源码包手动安装、配置以及测试(亲测可行)
笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...
- 【只需3步】源码手动安装Apache以及配置(亲测可行)
作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...
- IIS下自定义错误页面配置的两种方式(亲测可行)--IIS服务器
网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页) ...
随机推荐
- Tp5.0 PHPMailer邮件发送
今天突然想起来邮件发送,就看了一下PHPmailer,其实这个用起来很简单,都是封装好的 https://github.com/PHPMailer/PHPMailer,直接下载下来之后,把他放入TP5 ...
- MySQL开发总结(有点长..耐心看)
一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...
- jQuery遍历节点方法汇总
1.children()方法:$('div').children()---遍历查找div元素的所有子元素节点 <p>Hello</p> <div> <span ...
- window配置临时环境变量
使用背景: 使用A电脑开发java程序或者运行java程序,但是A电脑上没有装JDK OR JRE.又不能污染A系统. 解决技巧:在windows系统中可以使用set命令配置临时环境变量.注:临时环境 ...
- 初码-Azure系列-记一次从阿里云到Azure的迁移和部署
有个客户在阿里云上,这次要迁移到Azure去,手工记一下流水账 原系统信息: 阿里云ECS单Web节点(8核16G,10000IOPS SSD云盘)+阿里云ECS单数据库节点(16核32G,15000 ...
- Fast Fourier Transform ——快速傅里叶变换
问题: 已知$A=a_{0..n-1}$, $B=b_{0..n-1}$, 求$C=c_{0..2n-2}$,使: $$c_i = \sum_{j=0}^ia_jb_{i-j}$$ 定义$C$是$A$ ...
- bootstrap学习笔记之为导航条添加标题、二级菜单及状态 http://www.imooc.com/code/3120
为导航条添加标题.二级菜单及状态 加入导航条标题 在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也为大家做了这方面考虑,其通过" ...
- Java图书管理系统(用Java常用集合实现)
图书管理系统 一.需求说明 1.功能:登录,注册,忘记密码,管理员管理,图书管理. 2.管理员管理:管理员的增删改查. 3.图书管理:图书的增删改查. 4.管理员属性包括:id,姓名,性别,年龄,家庭 ...
- ArrayList源码解析(二)自动扩容机制与add操作
本篇主要分析ArrayList的自动扩容机制,add和remove的相关方法. 作为一个list,add和remove操作自然是必须的. 前面说过,ArrayList底层是使用Object数组实现的. ...
- 配置你的Editor
 ### 说明1. 走一波配置流,莫等闲,高效快速开发,从自己的常用的工具开始2. 寻找舒适 ...