Android Studio导入Project的方法
Android Studio到现在已经发展到0.8+的版本了,最近也在试着使用它,原因是多方面的,一个毕竟是未来的趋势,二则是github上越来越多的大牛开源项目都是基于Android Studio的,因此会使用Android Studio就成为一件必须的任务。
关于Android Studio的下载和安装,网上一搜一大堆的文章,本文不准备累赘地谈论这些问题,主要说一下如何在Android Studio中导入已有的项目进去。
在具体下面的工作之前,有两个概念是与Eclipse不大相同的,即Project和Module。在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,你的机器可能与这略有不同,因为最后一个文件夹名是随机生成的):

如果不做这步修改的话,不同的项目要求的Gradle版本不同,Android Studio不得不下载多份Gradle软件包放到C:盘上,其实没有必要,因为每个Project会提出它所需的Gradle最低版本要求,可以打开Project中的build.gradle文件看到(红色部分):
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。

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

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

此时点击下面的“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文件,如下图所示:

蓝色选中部分就是要修改的内容,奇怪的是Android Studio已经自动帮我们改好了,已经是当前的Gradle插件版本了。
最后,点击顶部的“Try Again”链接,如图所示。

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

意思是说项目使用的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)。
Android Studio导入Project的方法的更多相关文章
- Android Studio导入Project、Module的正确方法
Gradle Project项目.Module模块导入 最近看到网上很多人在抱怨,Android Studio很难导入github上下载下来的一些项目,主要包括: 1.导入就在下载Gradle2.根本 ...
- [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在
本文主要参考以下链接: http://m.blog.csdn.net/blog/BoxRice/48575027 https://drakeet.me/android-studio http://ww ...
- Android Studio导入第三方类库的方法
Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比E ...
- Android Studio导入第三方jar包或依赖工程的方法
Android Studio导入第三方jar包或依赖工程的方法 一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...
- Android Studio导入Eclipse项目的两种方法
Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...
- 【Android Studio使用教程1】Android Studio导入项目的几种方法
本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试更新到该版本. Android Studio默认使用 Gradle 构建项目, Eclips ...
- Android Studio导入第三方库的三种方法
叨叨在前 今天在项目中使用一个图片选择器的第三方框架——GalleryFinal,想要导入源码,以便于修改,于是上完查找了一下方法,想到之前用到过其他导入第三方库的方法,现在做个小总结,以防忘记. A ...
- android studio学习----Android Studio导入github下载的工程--替换方法
http://www.cnblogs.com/liuling/p/2015-9-16-01.html 这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别 ...
- android studio 导入一个已有的android studio project作为lib使用
android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事 ...
随机推荐
- SVG 2D入门3 - 文本与图像
SVG中渲染文本 SVG的强大能力之一是它可以将文本控制到标准HTML页面不可能有的程度,而无须求助图像或其它插件.任何可以在形状或路径上执行的操作(如绘制或滤镜)都可以在文本上执行.尽管SVG的文本 ...
- BZOJ 3260 跳
YY一下发现答案基本上就是(n+1)+ΣC(n+i,i),其中i=1...m. 然后发现后面每一项可以递推,只要处理1..m的逆元就好了. 这题很容易爆long long,每一步都要取模. #incl ...
- 【LEETCODE OJ】Candy
Problem link: http://oj.leetcode.com/problems/candy/ Suppose we are given an array R[1..N] that are ...
- ASP.NET状态管理之四(暂存状态HttpContext.Items)
ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items 暂存状态就是利用HttpContext.Items属性来存放数据 MSDN中Http ...
- PHP Mail 简介
PHP mail() 函数用于从脚本中发送电子邮件. mail(to,subject,message,headers,parameters): 参数 描述 to 必需.规定 email 接收者. su ...
- .csproj文件的配置 IIS可以调试
<ProjectExtensions> <VisualStudio> <FlavorProperties GUID="{349c5851-65df-11da-9 ...
- CentOS 6.6 nginx install
/************************************************************************* * CentOS 6.6 nginx instal ...
- Binary Tree Traversal
1.Preorder Traversal Given a binary tree, return the preorder traversal of its nodes' values. For ex ...
- Hamming Codes
1. 海明校验码检错采用的是分组交叉奇偶校验法. 将编码中的数据位分成r个校验组,组内采取奇偶校验,每组一个校验位,可构成r位检错码.r>1 全部检错码为0表示数据正常,不为零时 ...
- archlinux设置无线网络连接
Check the driver $ lspci -k Open the network card $ ip link set <设备名> up Check device status $ ...