一、你不想看到的 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 去下载。

gradle配置的更多相关文章

  1. eclipse下gradle配置

    eclipse下gradle配置 这可真麻烦啊,一个项目把java的东西学习完了!这不,刚弄完maven又来了个gradle. http://gradle.org/gradle-download 1. ...

  2. Android studio gradle配置

    什么是Gradle? Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. gr ...

  3. Android Studio Gradle配置工具开发

    by 蔡建良 2019-3-9 QQ: 304125648 Android Studio导入项目经常出现卡死的情况.针对Gradle更新配置的问题,网上已经有详细的方法,但也很烦索,步骤也很多. 因此 ...

  4. Android Studio gradle配置详解

    android gradle配置详解 AppExtension类及其属性 可能大部分人看到AppExtension类会感觉到非常的陌生,其实我们在app中的build.gradle中填写配置信息的时候 ...

  5. Android开发之深入理解Android Studio构建文件build.gradle配置

    摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...

  6. Android studio gradle配置完整版(转)

    Android studio gradle配置完整版https://my.oschina.net/u/1471093/blog/539075 Android studio 自定义打包apk名 - pe ...

  7. Android Studio 使用笔记:在图形界面使用 Gradle 配置项目所需jar包

    在 Android Studio 中使用第三方 jar 包,可以直接下载后添加到项目中,也可以使用 Gradle 配置进行管理.图形界面下十分简单. 点击下图中间的图标,或者选中 Model ,按F4 ...

  8. Android Studio 使用笔记:记录使用Gradle配置AndroidAnnotations

    系统:Mac Yosemit 10.10 JDK:1.6+ Android Studio:1.2 原来看到有人用AndroidAnnotations,十分羡慕.但是Gradle并不熟悉,现找到了正确的 ...

  9. JFinal学习 & Gradle配置续 & Tomcat配置

    接上一篇对Gradle的学习,再用JFinal项目再建一个. 参考了这篇文章:https://my.oschina.net/u/1010578/blog/390094 但是其中没有代码,所以看了这篇  ...

  10. 关于Gradle配置的小结

    前言 使用 Android Studio 来开发 Android 工程的过程中,接触 Gradle 是不可避免的,比如配置签名.引入依赖等.那么 Gradle 到底是什么东西呢? Gradle 是一个 ...

随机推荐

  1. 【(最小权点基)tarjan强连通分量缩点+tarjan模板】HDU 5934 Bomb

    [AC] #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; ; ; const int i ...

  2. hdu 4951

    Multiplication table Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  3. android实现通知栏消息

    一.原理 消息推送有两种,一种是客户端定时直接到服务器搜索消息,如果发现有新的消息,就获取消息下来:另一种是服务器向客户端发送消息,也就是当有信息消息时,服务器端就会向客户端发送消息. 二.步骤(代码 ...

  4. golang测试框架--smartystreets/goconvey

    视频教程和配套博客:goconvey - 课时 1:优雅的单元测试 Go 语言虽然自带单元测试功能,在 GoConvey 诞生之前也出现了许多第三方辅助库.但没有一个辅助库能够像 GoConvey 这 ...

  5. 简化LINUX的命令输入 简化linux命令 快捷键 短路径

    在LINUX中,有很多常用的命令,常用的命令我们可以熟练的记忆,但是对于不经常使用的命令恐怕是需要翻阅手册了,但是我们可以简化这些命令的输入来达到简便记忆的效果. 这里以BSH为例: 编辑/etc/b ...

  6. Ubuntu 16.04安装CrossOver容器来安装QQ(终极解决办法,亲测有效)

    说明:此版本的QQ基本完美,但是有个缺点就是历史记录有些会显示乱码! 注意:此方法能完美解决这篇文章http://www.cnblogs.com/EasonJim/p/7118693.html的所有问 ...

  7. java并发编程阻塞队列

    在前面我们接触的队列都是非阻塞队列,比如PriorityQueue.LinkedList(LinkedList是双向链表,它实现了Dequeue接口). 使用非阻塞队列的时候有一个很大问题就是:它不会 ...

  8. ScSPM

    Linear Spatial Pyramid Matching using Sparse Coding for Image Classification (CVPR'09) 稀疏编码系列: (一)-- ...

  9. javaproject积累——树形结构的操作

    近期一直被树形结构整的非常头大,又是递归.又是循环.可是,好在我们在经历了千辛万苦后.最终弄出来了.事实上就是组织机构的常规操作,有些是我们过度设计.有些是我们想错了.而对数的逻辑读取,我们就属于想错 ...

  10. Linux-----Ubuntu设置开机启动模式