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的方法的更多相关文章

  1. Android Studio导入Project、Module的正确方法

    Gradle Project项目.Module模块导入 最近看到网上很多人在抱怨,Android Studio很难导入github上下载下来的一些项目,主要包括: 1.导入就在下载Gradle2.根本 ...

  2. [Android Studio导入第三方类库方法] Error:(19, 23) 错误: 程序包org.apache.http不存在

    本文主要参考以下链接: http://m.blog.csdn.net/blog/BoxRice/48575027 https://drakeet.me/android-studio http://ww ...

  3. Android Studio导入第三方类库的方法

    Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比E ...

  4. Android Studio导入第三方jar包或依赖工程的方法

    Android Studio导入第三方jar包或依赖工程的方法   一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...

  5. Android Studio导入Eclipse项目的两种方法

    Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...

  6. 【Android Studio使用教程1】Android Studio导入项目的几种方法

    本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4.请尝试更新到该版本. Android Studio默认使用 Gradle 构建项目, Eclips ...

  7. Android Studio导入第三方库的三种方法

    叨叨在前 今天在项目中使用一个图片选择器的第三方框架——GalleryFinal,想要导入源码,以便于修改,于是上完查找了一下方法,想到之前用到过其他导入第三方库的方法,现在做个小总结,以防忘记. A ...

  8. android studio学习----Android Studio导入github下载的工程--替换方法

    http://www.cnblogs.com/liuling/p/2015-9-16-01.html 这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别 ...

  9. android studio 导入一个已有的android studio project作为lib使用

    android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事 ...

随机推荐

  1. LIST 和 MAP

    Collection和Map LIST 集合 arraylist arraylist源代码: 1.ArrayList 底层采用数组实现,当使用不带参数的构造方法生成 ArrayList 对象时,实际上 ...

  2. Scheme vs Schema

    在计算机数据描述领域,Scheme由于原意为“主题”,“方案”,“构想”等,因此一般指比较明确的(具体的)“方案”.“体系”,例如一个术语词表.分类表等,而Schema通常翻译成“模式”,比较强调形式 ...

  3. hdu 2055

    PS:上课的时候敲的..这道题简单..一次AC,不多说了.. 代码: #include "stdio.h"int main(){ int i,n,y; char x,a[26],b ...

  4. C++ inline weak symbol and so on

    关于inline这个关键字,听到强调得最多的是,它只是一种对于编译器的建议,而非强制执行的限定. 但事实上,即使这个优化最终由于函数太过复杂的原因没有达成,加上inline关键字(还有在类定义中直接定 ...

  5. loadrunner录制时弹出invalid application path!please check if application exists对话框

    问题:oadrunner录制时弹出invalid application path!please check if application exists对话框 原因:IE浏览器地址不对,需要手动重新选 ...

  6. NSURLSession概述

    NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的.在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作.注意, ...

  7. 51nod 最长公共子序列Lcs

    有深入 了解了一点 .  51nod 可以用来加深 算法理解程度 ,

  8. BZOJ 3450 Easy

    注意细节啊... 和上一道差不多. #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  9. 文件操作I

    <html> <head> <meta charset="utf-8"> </head> <body> <?php ...

  10. React Native之生命周期

    React Native生命周期主要分为三大阶段:实例化阶段(图中上框部分),存在阶段(图中左框部分),销毁阶段(图中右框部分). 如图: 下面简单讲解一下三大阶段中各自的函数: 实例化阶段: 在日常 ...