Android Studio导入项目非常慢的解决办法
问题
Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势。然而在实际使用时,依然有不少不爽的地方。Android Studio原生支持使用Gradle来构建项目本是个不错的想法,使用动态语言Groovy定义项目构建过程,避免了build.xml文件的繁琐定义。但是Gradle的二进制包体积较大,而且用户可能按照了不同的Gradle版本,构建时可能会出现各种问题。因此又提出了Gradle Wrapper这么个东西,用于解决前面出现的问题。Gradle Wrapper会绑定到一个指定的Gradle版本。当用户导入项目工程时,会自动到远程服务器上下载Gradle包。这样解决了客户端版本不一致的问题,但是也带来了一个新的问题:国内连接到远程服务器下载Gradle包的速度非常慢!所以,每当从Github下载下来一个新项目导入到Android Studio时,都会卡在这个界面:
你不知道到底是AS死了,还是它确实在后台做些什么……要么就耐着性子等,要么就直接关掉AS,而且必须是强制关闭。这一点做的非常不友善。实际上,之所以卡在这,就是因为后台在服务器下载Gradle包。而这个Gradle包往往有几十兆,在网络环境不太好的情况下,可能要下很久才能完成。显然,我们没有这么多时间在这耗着,需要找个办法来解决了。
解决方法
在网络上搜罗了一番,通常的做法是修改Gradle Wrapper配置文件中的Gradle版本,但是都不太完整。最后在这里看到了完整点的解决方法。精简下主要如下几个步骤:
- 先获取本机相关参数,包含如下几个(括号中是我本人机器的参数):
Android Plugin Version:(1.5.0)
Gradle Version:(2.8)
Compile SDK Version:(23)
Build Tools Version:(23.0.2)
- GradleHome:(/Applications/Android Studio.app/Contents/gradle/gradle-2.8)
获取方法很简单,在Android Studio里面新建一个工程,单击工程名右键选择“Open Module Settings”弹出对话框中可以看到:
2. 参数准备好了,即可开始修改目标项目的参数。需要修改的参数位于哪些文件呢?
- xxx-project/.idea/gradle.xml文件:添加或修改<option name="gradleHome" value="前面的GradleHome参数" />
- xxx-project/gradle/wrapper/gradle-wrapper.properties文件:distributionUrl=https\://services.gradle.org/distributions/gradle-前面的gradleVersion-all.zip
- xxx-project/build.gradle文件:classpath 'com.android.tools.build:gradle:前面Android Plugin Version' (这个是整个project的配置)
- xxx-project/build.gradle文件:修改Compile SDK Version和Build Tools Version参数。(这个是单个module的配置,project中每个module都需要修改)
3. 参数修改完成,开始正式导入项目。一般情况下,这时候可以很顺利的就导入到Android Studio中来了。如果仍然卡在导入界面,那么只能乖乖的等了……
参考
Android Studio导入项目非常慢的解决办法的更多相关文章
- Android Studio导入项目
原文:http://ask.android-studio.org/?/article/21 本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试 ...
- 【Android Studio使用教程1】Android Studio导入项目的几种方法
本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试更新到该版本. Android Studio默认使用 Gradle 构建项目, Eclips ...
- Android Studio导入项目的中文注释乱码解决方法
在Android studio中,导入Android的项目后,容易出现项目文件的中文乱码,中文无法正常显示,变成了一些格子问号之类的,导致无法查看中文的注释,下面来看看导入项目和解决乱码 ...
- Android Studio 导入项目错误
Gradle DSL method not found: 'Android()' 错误原因: android studio 引进项目时,自动查找本机是否有项目设置的SDK版本,若发现没有,我们会在pr ...
- Android Studio导入项目一直卡在Building gradle project info的解决方案
出现了一个很神奇的现象,Android Studio导入其它项目均正常,但是导入某个项目(两天前还正常打开的项目)却一直卡在Building gradle project info 尝试了重启Andr ...
- Android Studio第一次启动失败的解决办法
Android Studio Android 开发环境 由于GFW的问题,安装后第一次启动会在显示Fetching android sdk component information对话框后,提示错误 ...
- 解决Android studio导入项目卡死
在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...
- 怎么解决Android studio导入项目卡死
在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...
- Android Studio导入项目慢的问题
在Github下载的项目,导入studio时非常慢,原因是下载的项目中的gradle与当前gradle不匹配,需要更新包. 解决办法:修改下载包中的文件 1. xxx-project/.idea/gr ...
随机推荐
- CSS3之绽放的花朵(网页效果--每日一更)
今天,带来的是纯CSS3打造的效果--绽放的花朵. 先来看效果吧:亲,请点击这里 这是纯CSS3样式打造的效果,关键是采用了animation属性和transform属性.详细请看下面代码. HTML ...
- [后端人员耍前端系列]AngularJs篇:30分钟快速掌握AngularJs
一.前言 对于前端系列,自然少不了AngularJs的介绍了.在前面文章中,我们介绍了如何使用KnockoutJs来打造一个单页面程序,后面一篇文章将介绍如何使用AngularJs的开发一个单页面应用 ...
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
一.前言 从去年已经接触领域驱动设计(Domain-Driven Design)了,当时就想自己搭建一个DDD框架,所以当时看了很多DDD方面的书,例如领域驱动模式与实战,领域驱动设计:软件核心复杂性 ...
- Linux 数组
200 ? "200px" : this.width)!important;} --> :介绍 在shell4.0之后支持普通数组和关联数组,普通数组只能使用整数作为索引,关 ...
- 为什么我的新项目选择了Quick-cocos2d-x
混Quick社区快一周了,还是决定分享一下我选择Quick的原因. 一是向大家介绍一下我自己,同时也希望给大家提供一个参考首先,向大家介绍一下我自己姓名,年龄,性别这些都不重要了.我是一名程序员,在游 ...
- PHP数据库操作:从MySQL原生API到PDO
本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...
- CKEditor Html Helpers for ASP.NET MVC3 Razor/WebForms Views
一.原生方法: 在 razor 中 使用Fckeditor 编辑内容,需要引入js <script src="@Url.Content("~/fckeditor/fckedi ...
- 使用__slots__限定实例的成员列表
使用__slots__限定实例的成员列表 默认情况下,python对象队象的每个实例(instance)都会有一个字典来存储该实例的属性,这样做的好处在于运行时期每个对象可以任意设置新的属性.而相对应 ...
- XML学习笔记4——XSD简单数据类型
XSD提供了数据类型,并且支持自定义数据类型,但这一切都是建立在XSD内置数据类型和一套扩展内置数据类型的规则基础之上的,在这一篇笔记中,就来看看XSD中的数据类型. 1.XSD数据类型图 先看一下数 ...
- 快速入门系列--WCF--07传输安全、授权与审核
这部分主要涉及企业级应用的安全问题,一般来说安全框架主要提供3个典型的安全行为:认证.授权和审核.除了典型的安全问题,对于一个以消息作为通信手段的分布式应用,还需要考虑消息保护(Message Pro ...