一、你不想看到的 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的更多相关文章

  1. MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行)

    注: 本文来源于:Smile_Miracle 的< MyEclipse 2017 ci6 安装反编译插件(本人自己摸索的方法,亲测可行) > 第一步:关闭ME,去一下地址下载jad的反编译 ...

  2. pycharm 配置autopep8(亲测可行)

    autopep8是一个可以将Python代码自动排版为PEP8风格第三方包,使用它可以轻松地排版出格式优美整齐的代码.网络上有很多介绍如何在pycharm中配置autopep8的方案,但很多方案中还是 ...

  3. vegas pro 15解决导入的视频和音频有噪声问题,亲测可行

    中文步骤: 按住Shift->点击选项->首选项,松开Shift 点击右上角"内部"选项卡,在最下面的搜索栏输入SO4 找到第二项Enable So4 Compound ...

  4. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  5. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  6. VS2008配置OpenGl 亲测可行

    OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.1.与C语言紧密结合.OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是 ...

  7. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  8. 【只需3步】源码手动安装Apache以及配置(亲测可行)

    作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...

  9. IIS下自定义错误页面配置的两种方式(亲测可行)--IIS服务器

    网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页) ...

随机推荐

  1. [故障公告]14:39-15:39博客站点部分负载均衡遭遇3次20G以上的流量攻击

      非常抱歉,今天下午14:39-15:39左右,博客站点的部分负载均衡遭遇3次20G以上的流量攻击,造成很多用户不能正常访问.由此给您带来麻烦,请您谅解. 攻击的过程是这样的: 14:39,第1次攻 ...

  2. Android 6.0的权限问题

    Android 6.0的权限获取不同于别的版本,具体的实例如下: if (ContextCompat.checkSelfPermission(this, Manifest.permission.REA ...

  3. CSS3特效----制作3D旋转照片展示区

    任务一.制作多背景 提示:上层有一个径向渐变,渐变图像farthest-side ellipse at center,  rgba(246,241,232,.85) 39%,rgba(212,204, ...

  4. hdu 2710 Max Factor 数学(水题)

    本来是不打算贴这道水题的,自己却WA了三次.. 要考虑1的情况,1的质因子为1 思路:先打表 ,然后根据最大质因子更新结果 代码: #include<iostream> #include& ...

  5. [笔记]ACM笔记 - 自用模板

    长期更新. 快速幂 lld pow_mod(lld a, lld b, const int &pr) { lld ans = 1; while (b) { if (b & 1) ans ...

  6. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载

    一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...

  7. java内存模型6-final

    与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问.对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对一个final域的写入,与随后把这个被构造对象 ...

  8. Python ORM框架之 Peewee入门

    之前在学Django时,发现它的模型层非常好用,把对数据库的操作映射成对类.对象的操作,避免了我们直接写在Web项目中SQL语句,当时想,如果这个模型层可以独立出来使用就好了,那我们平台操作数据库也可 ...

  9. JAVA栈帧

    简介 Java栈是一块线程私有的内存空间.java堆和程序数据相关,java栈就是和线程执行密切相关的,线程的执行的基本行为是函数调用,每次函数调用的数据都是通过java栈来传递的. Java栈与数据 ...

  10. Linux 安装USB摄像头

    sudo apt-get update sudo apt-get install fswebcam sudo apt-get install mplayer sudo apt-get install ...