如果你有很好的网络环境

好的网络环境,这里不是指:我家网速带宽100M,电信的光纤接入。

而是: 能翻墙 。因为如果本机的gradle和将要导入的工程版本不匹配,Studio就回去下载对应版本的gradle,下载完之后才能进行编译。

当然,下载速度也不能太慢。太慢的话,你就等着下载完吧。。。

如果你没有好的网络环境,或者你现在处于没有网络状态

那么这篇文章也许能够指导你如何正确的导入别人的工程。

这里就用一个代码作为示例:github上的一个安卓换肤的示例:
​​​https://github.com/fengjundev/Android-Skin-Loader.git​

首先,先把这个git克隆到本地。(TortoiseGit真是个好工具!)

然后,打开Android studio,得到一个能够正确运行的工程。这个工程,可以是你之前能够运行起来的工程,也可以是你新建的一个studio工程。为什么要新建一个工程?为的就是得到能够运行起来的gradle配置。

我们需要的是以下这几个内容:

1.Android Plugin Version

2.Gradle Version

3.Compile SDK Version

4.Build Tools Version

5. GradleHome

如果有现有的工程,直接跳到【 获取我们所需的配置内容 】处接着阅读。如果没有,就接着往下阅读。

这里我就创建一个新的工程:ConfigApplication:目的只有一个:获取以上提到的内容。

选择Compile SDK Version的时候,尽量往高了选。用最新的总是比较好的。


新建完了,切换到Project浏览模式,以下四个框就是要重点关注的对象。也就是从这里获取我们所需要的配置信息:这也是我们导入新的工程之前,需要修改的几个文件:


这些内容也都可以通过其他方式更加直接的获取到:

获取我们所需的配置内容

另一种方式就是:右击项目,打开module setting:

这里有四个:Project标签:

App标签也有两个:

还有一个:通过IDE的File 打开Settings,搜索gradle:

对应的5个配置的值是:

1.Android Plugin Version  1.2.3

2.Gradle Version           2.2.1

3.Compile SDK Version    23

4.Build Tools Version      23.0.1

5.GradleHome             D:\Program Files\Android Studio\gradle\gradle-2.2.1

至此,我们所需的5个配置信息都获取到了。接下来才是导入新工程的开始:

开始导入新工程

一般导入工程,就是直接导入新的工程。但是这也就造成了配置不对,一直卡在gradle的下载途中等各种问题。获取本机的配置信息,就是为了能够免去各种下载,各种配置等容易出错的步骤,从而一次性(至少不会卡住不动)导入成功。

进入我们用来测试的Android-Skin-Loader工程,用Sublime Text 打开(这个工具也是很好用的编辑器)。似乎这个工程比我们建的ConfigApplication要复杂很多。。工程就有三个。。。似乎不是很好对付啊!!!

接下来就是开始修改原有工程的配置文件了。开始吧!

修改Gradle Home

Gradle home 的配置信息在这里:

Android-skin-loader/.idea/gradle.xml中:

将这个设置为Config中的对应的值: D:\Program Files\Android Studio\gradle\gradle-2.2.1

修改Gradle Version

Gradle Version的信息在这里:

Android-skin-loader/gradle/wrapper/gradle-wrapper.properties

修改为Config的值:2.2.1

修改Android Plugin Version

Android Plugin Version 的信息在这里:

Android-skin-loader/build.gradle

修改为Config的值:1.2.3

修改Compile SDK Version 和Build Tools Version

Android-skin-loader有三个工程哦,所以这三个工程中都需要修改SDK Version 和Tools Version。 这些信息都在对应工程下的build.gradle中:

这里都改成Config中获取到的值:23 和23.0.1

至此,所有的配置基本上都改完了。下面终于可以导入了:

如果一切顺利,就会build finish啦:

但是,如果

很不幸:还是卡住了,具体问题具体分析

导入之后,比如会卡在某个地方:

Android Studio就这点不好,不知道到底后面在做什么。。Cancel也不起作用。(不知道这个cancel用来干嘛的,假动作?)

我个人的经验告诉我:一般都是出现在项目中的build.gradle中。还是拿Android-skin-loader来说:打开sample下的build.gradle文件,我们会看到一堆我们不熟悉的代码(和ConfigApplication的对比):

可以看到,左边的sample的gradle多了一堆。。。粗略看一下这些代码,就知道和项目编译是没有什么关系的,就可以删掉这些代码了。

对于其他工程下的build.gradle文件,也同样的可以删掉一些多余的配置。这样能够简化gradle的配置,能够最小程度的满足gradle编译运行的条件。

以上就是我的经验总结了。希望能帮助到大家。


转自:http://ju.outofmemory.cn/entry/229755



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时,都会卡在这个界面:

Android Studio导入工程的正确姿势_Android

    你不知道到底是AS死了,还是它确实在后台做些什么……要么就耐着性子等,要么就直接关掉AS,而且必须是强制关闭。这一点做的非常不友善。实际上,之所以卡在这,就是因为后台在服务器下载Gradle包。而这个Gradle包往往有几十兆,在网络环境不太好的情况下,可能要下很久才能完成。显然,我们没有这么多时间在这耗着,需要找个办法来解决了。

解决方法

    在网络上搜罗了一番,通常的做法是修改Gradle Wrapper配置文件中的Gradle版本,但是都不太完整。最后在​​这里​​看到了完整点的解决方法。精简下主要如下几个步骤:

  1. 先获取本机相关参数,包含如下几个(括号中是我本人机器的参数):
  • 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”弹出对话框中可以看到:

Android Studio导入工程的正确姿势_配置信息_02

Android Studio导入工程的正确姿势_Gradle_03

2. 参数准备好了,即可开始修改目标项目的参数。需要修改的参数位于哪些文件呢?

  • xxx-project/.idea/gradle.xml文件:添加或修改<optionname="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'
  • xxx-project/build.gradle文件:修改Compile SDK Version和Build Tools Version参数。(这个是单个module的配置,project中每个module都需要修改)

3. 参数修改完成,开始正式导入项目。一般情况下,这时候可以很顺利的就导入到Android Studio中来了。如果仍然卡在导入界面,那么只能乖乖的等了……

参考