Android Studio手动下载配置Gradle的方法
1 问题
(1) android sutdio第一次打开一个工程巨慢怎么办?
(2) 手动配置Gradle Home为什么总是无效?
(3) 明明已经下载了Gradle,配置了gradle home,为什么打开工程还是去自动下载Gradle?
2 简介
(1) Android Studio怎么知道该用哪个Gradle呢?
AS一个项目所用的Gradle是由我们的工程中下面这个文件决定的:
{your project}/gradle/wrapper/gradle-wrapper.properties
文件内容如下:
#Mon Sep 28 16:15:03 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
最后一排的distributionUrl
决定了这个项目使用的gradle版本,也就是说不同的项目可以使用不同的gradle版本,这也就是为什么修改Gradle Home失败的原因。那么我们怎么知道gradle有哪些版本呢?答案是下面这个链接:
Gradle下载地址:https://services.gradle.org/distributions/
所以只要对着上面的链接,修改后面的gradle版本就可以了.
(2) Gradle保存在哪里?
Gradle是大家共用的,当然不会把Gradle放在项目文件中(不是不可以),AS将gradle保存在下面的目录:
Linux:
~/.gradle/wrapper/dists
windows:
C:\users\{user name}\.gradle\wrapper\dists
打开这个目录,可以看到下载好的gradle版本
Android Studio打开一个工程时,首先会读取gradle-wrapper.properties
文件,从而知道这个工程需要哪个版本的gradle ,然后就会去保存gradle的文件夹GRADLE_USER_HOME
去找看存不存在这个版本的gradle,不存在则会去distributionUrl
去下载
搞清楚了这个流程,现在是不是明白了,为什么第一次打开一个工程会巨慢了吧,因为AS会去下载gradle。为什么我明明下载了gradle,也指定了gradle的存放目录,可打开的时候还是会去自动下载gradle了,那是因为你没有配对地方。现在回过来看项目配置文件是不是gradle/wrapper/gradle-wrapper.properties
是不是恍然大悟?
3 配置方法
既然搞清楚了原理,也知道打开慢的原因是卡在下载gradle这一步,那么我们就自己下载gralde,然后配置上去
(1) 修改gradle-wrapper.properties
修改gradle-wrapper.properties 中的 distributionUrl,改成我们想要的版本,只改后面的版本就可以了,前面的部分不要改。具体版本看下面链接:
Gradle下载地址:https://services.gradle.org/distributions/
(2) 打开项目
这个时候AS将自动下载gradle,并创建好目录。这时直接干掉Android Studio并退出,因为这一步是为了得到AS自动创建的下载目录,定位到下面的目录:
Linux:
~/.gradle/wrapper/dists
windows:
C:\users\{user name}\.gradle\wrapper\dists
进入对应的gradle版本文件夹下,会发现有一个一串乱码的文件夹,本例以gradle2.4为例,如下图:
(2) 下载gradle
从上面的Gradle下载地址,下载对应版本的gradle,本例中为gradle-2.4-all.zip,然后删除上图中的gradle-2.4-all.zip.part文件,将下载的gradle-2.4-all.zip复制到上图中一串乱码的文件夹下,注意不要解压。这样我们就跳过了下载gradle这一步。
(3) 重新开启Android Studio,打开工程,ok,一下子就打开了.
4 Gradle 插件版本
gradle插件和gradle是两个独立的东西,gradle插件版本是由项目最外层的build.gradle文件决定的
app/build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
修改gradle插件版本之后,sync一下代码就可以了。
Android Studio手动下载配置Gradle的方法的更多相关文章
- Android NDK开发 Android Studio使用新的Gradle构建工具配置NDK环境(一)
本文主要讲述了如何如何在Android Studio使用新的Gradle构建工具配置NDK环境,现在把相关的步骤整理出来分享给Android程序员兄弟们,希望给他们在配置NDK环境时带来帮助. 从An ...
- Android开发之深入理解Android Studio构建文件build.gradle配置
摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applica ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- Android Studio系列教程四--Gradle基础
Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...
- 【转】Android studio安装与配置
Android studio安装与配置 1.首先下载Android studio安装包,可以从http://www.android-studio.org/下载最新版本,这里采用3.0版本进行演示,对应 ...
- android studio 一直卡在Gradle:Build Running的解决办法
转:android studio 一直卡在Gradle:Build Running的解决办法 在使用AS开发安卓应用程序的时候经常会遇到Gradle build running一直在运行甚至卡死的 ...
- android studio 开发环境配置
android studio 开发环境配置 参考: 第一次使用Android Studio时你应该知道的一切配置 https://www.cnblogs.com/qianguyihao/p/43909 ...
- Android Studio的下载和安装教程(从ADT到AS)
之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...
- [转]Android Studio系列教程六--Gradle多渠道打包
转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...
随机推荐
- Wormholes(spfa判负环)
POJ - 3259—— Wormholes Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %I64d & % ...
- Jetty插件实现热部署(开发时修改文件自动重启Jetty)
在pom.xml文件中配置Jetty插件的参数:scanIntervalSeconds <plugin> <groupId>org.mortbay.jetty</grou ...
- MySQL的内存表(转)
说明:MySQL内存表可以提升一些临时业务的查询,比如做Session的共享,一些类似缓存的数据等. “内存表”顾名思义创建在内存中的表,真是这样吗?其实不然,MySQL的内存表,表结构创建在磁盘上, ...
- ganglia-monitoring-centos-linux
http://www.tecmint.com/install-configure-ganglia-monitoring-centos-linux/ http://monitor.gitlab.net/ ...
- 【kotlin】报错:required:LIst<XXX> found:List<Unit>此类型的问题
出现问题如下: 解决方式如下: 解决思路:上面报出来的错误很明显,就是说想要的是List<XXX>类型但是给的却是List<Unit>类型,给的不是它想要的嘛 关键就是解决问题 ...
- 【c++】面向对象程序设计之关于继承
面向对象程序设计的核心思想是数据抽象(类的接口与实现分离).继承和动态绑定 基类 虚函数:基类希望派生类各自定义适合自身的版本的函数 在c++中,当我们使用基类的引用或指针调用虚函数时将发生动态绑定. ...
- weexapp 开发流程(二)框架搭建
1.创建 入口文件 src / entry.js /** * 入口文件 */ import App from './App.vue' import router from './router' // ...
- Android——坐标系及转化
一.坐标系 Android应用层坐标系原点在左上角,坐标范围(0,0)——(width,height). Android底层坐标系原点在屏幕中央,坐标范围(-1000,,1000)——(1000,10 ...
- MYSQL时间戳的处理
date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 后面的 '%Y%m%d' 主要是将返回值格式化 例如: mysql>SELECT FROM ...
- C#连接池
C#数据库连接池 MySql SqlServer 查阅了一天的资料来学习MySql数据库连接池,终于在一篇博文上找到了,自己也整理了一下,希望对大家有用处 1. 建立连接池 1 using MySql ...