Android Studio之导入Project

Android Studio到现在已经发展到0.8+的版本了,最近也在试着使用它,原因是多方面的,一则毕竟是未来的趋势,二则是github上越来越多的大牛开源项目都是基于Android Studio的,因此会使用Android Studio将成为一件必须的任务。

关于Android Studio的下载和安装,网上一搜一大堆的文章,本文不准备累赘地谈论这些问题,主要说一下如何在Android Studio中导入已有的项目进去。

在具体下面的工作之前,有两个概念是与Eclipse不大相同的,即ProjectModule。在Android Studio中,一个Project并不是Eclipse的project,倒是有点像workspace(或者说任务吧),而Module才是与Eclipse的project相似的。所以,一个Project中可以包含多个Module,多个Module在一起共同构成一个Project,每个Module可以是一个库,也可以是一个可运行的Module(对应可运行的apk)。

好了,现在进入正题。

1、启动Android Studio,本文使用的是0.8.0版的

2、准备需要在Android Studio中打开的项目

这里以https://github.com/AndroidAlliance/EdgeEffectOverride/ 为例,请将对应的zip文件下载下来并解压缩,这是一个滚动控件如ScrollView滚动到超出边界时会出现高光现象的项目。之所以以这个项目为例,是因为在导入这个项目时,出现了几个问题需要解决。

3、修改项目中所需的Gradle软件包需求

找到EdgeEffectOverride-master\gradle\wrapper下面的gradle-wrapper.properties文件,使用Notepad++之类的文本文件工具打开它,里面的这一行(红色部分):

#Wed Oct 02 23:50:13 BST 2013

distributionBase=GRADLE_USER_HOME

distributionPath=wrapper/dists

zipStoreBase=GRADLE_USER_HOME

zipStorePath=wrapper/dists

distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip

请将红色部分改为你的机器上已安装的Gradle版本,比如我这里是gradle-1.12-all.zip,如图所示(在C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo,你的机器可能与这略有不同,因为最后一个文件夹名是随机生成的):

quick start

如果不做这步修改的话,不同的项目要求的Gradle版本不同,Android Studio不得不下载多份Gradle软件包放到C:盘上,其实没有必要,因为每个Project会提出它所需的Gradle最低版本要求,可以打开Project中的build.gradle文件看到gradle:0.6.+

?

1
2
3
4
5
6
7
8
buildscript {
     repositories {
         mavenCentral()
     }
     dependencies {
         classpath  'com.android.tools.build:gradle:0.6.+'
     }
}

这里的例子是要求0.6以上版本的Gradle,因为我们的机器可能已经存在比这个版本更高的Gradle,因此不需要像上面要求的那样去下一份gradle-1.8-all.zip的文件,直接用机器中已有的即可。顺便说一下,可以通过http://services.gradle.org/distributions/xxx.zip(请将蓝色部分xxx.zip改为所需的文件名,比如gradle-1.12-all.zip,其它版本也是一样),这样手工下载下来,然后放到C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo里面,不需要解压缩,Android Studio会自己解压缩的。

4、点击Import Project

点击Import Project

定位到项目所在的目录,找到其中的build.gradle文件,然后点击OK按钮。

build.gradle文件

5、遇到的问题

首先会提示一个错误,大意是使用了不支持的Gradle版本,请使用Gradle1.10,如下:

提示错误

此时点击下面的“Gradle settings”蓝色链接,出现下面的窗口:

点击“Gradle settings”蓝色链接,出现的窗口

选中“Use default gradle wrapper(recommended)”推荐的选项,点击OK按钮即可。回到前一个界面时,再点击Fix Gradle wrapper and re-import project蓝色链接,这样就开始修正并自动构建Project了。

在gradle构建project过程中,底部出现下图所示的提示信息,见红色感叹号的两行:

提示信息

其中第一个是说DefaultGroovMavenDeployer缺少了nexusUsername属性,第二个是说必须使用更新版本的Android Gradle插件。

先纠正第一个问题,在Android Studio中打开EdgeEffectOverride模块中的build.gradle文件,删掉最后那行(见截图底部蓝色选中部分):

删掉蓝色部分

好了,删掉最后这行,Android Studio会自动保存。注意,如果是误修改的话,可以按Ctrl+Z后退,但若要重新前进的话,快捷键是Ctrl+Shift+Z,而不是平常惯用的Ctr+Y,Ctrl+Y在Android Strdio中是删除当前行的意思。

接下来处理第二个问题,打开EdgeEffectOverride-master项目下面的build.gradle文件,如下图所示:

EdgeEffectOverride-master项目下面的build.gradle文件

蓝色选中部分就是要修改的内容,奇怪的是Android Studio已经自动帮我们改好了,已经是当前的Gradle插件版本了。

最后,点击顶部的“Try Again”链接,如图所示。

点击Try Again

不过,又是出现新的问题:

新error

意思是说项目使用的SDK Build Tools版本18.0.1太低了,最低要使用19.1.0,没办法,只好按照提示改了。

继续在Android Studio中分别打开EdgeEffectOverride和EdgeEffectOverrideSample这两个模块下面的build.gradle文件,将其中的buildToolsVersion后面的数字统统改成19.1.0,如下图中的红色标记部分,记得两个build.gradle文件都要改。

修改红色标记部分

好了,点击编辑器顶部的“Try Again”,经过Gradle一番忙碌之后,一切终于好了,下载终于可以运行了。

成功运行

6、成功运行

点击绿色的三角箭头,EdgeEffectOverrideSample跑起,其中EdgeEffectOverride是EdgeEffectOverrideSample运行依赖的模块(相当于Eclipse中的library)。

到此就介绍完毕了,虽然只有短短的6条,但是其中的信息量和操作量的确不少,包括中间出现的error及解决办法,作者都解释的很清楚,希望能帮到大家