原文:http://ask.android-studio.org/?/article/21

本篇教程中使用到的Android Studio版本为1.0, Eclipse ADT版本23.0.4。请尝试更新到该版本。

Android Studio默认使用 Gradle 构建项目, Eclipse 默认使用Ant构建项目。建议Android Studio导入项目时,使用Gradle 构建项目。

导入 Eclipse 项目

本例中,使用到的 Eclipse 项目结构如图:

e-demo 为主项目, appcompat_v7 为 library 项目。

导入 Generate Gradle build files 项目

Google官方建议是通过本方法进行Android Studio导入 Eclipse 项目。

这种方式有一个好处就是兼容 Eclipse 的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse 和Android Studio。

讲解1

File --> Export

讲解2

选择导出类型。选择 Android --> Generate Gradle build files 。

点击 Next 。

讲解3

很长一段英语(完全看不懂是什么意思)。

点击 Next 。

讲解4

选择要导出的项目。

因为我的 e-demo 项目依赖了 appcompat_v7 项目,所以我将 e-demo 和 appcompat_v7 都选择了导出。

点击 Next 。

讲解5

最终确认要导出的项目。

Force overriding of existing files 表示覆盖导出文件。使用 Generate Gradle build files 的方式导出项目,会在项目目录中生成一些文件。这里的覆盖文件指的就是覆盖这些可能已经生成过的文件。如果你之前有使用这种方式导出过项目,建议勾选。

点击 Finish 。

讲解6

这一步没有什么好说的,直接点击 Finish 。

讲解7

Finish 点击完毕,并没有弹出窗口显示导出的项目,就好像什么事情都没有做一样。其实,使用这个方式导出项目,是在项目中添加了一些文件,我们可以到项目目录下去看一看这些生成文件。

工作空间目录下

e-demo 目录下

appcompat_v7 目录下

我们可以发现:在工作空间目录下,多出了 gradle 文件夹和 build.gradle 、 build.gradle 、 gradlew 、 gradlew.bat、 settings.gradle 文件;在 e-demo 目录下多出了 build.gradle 文件; 在 appcompat_v7 目录下多出了 build.gradle文件。这些文件和文件夹都和 Gradle 有关系,用于构建项目。这些文件以及文件夹的作用,我们以后再说。

讲解8

由于 Eclipse 的 ADT 插件已经很久没有更新了,自动生成的 Gradle 编译设置已经跟不上Android Studio的更新速度,所以我们需要手动修改一些内容。

打开工作空间目录下的 gradle --> wrapper --> gradle-wrapper.properties 。修改一下内容:distributionUrl=http\://services.gradle.org/distributions/gradle-a.b.c-all.zip -->distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

打开工作空间目录下的 build.gradle 文件。修改以下内容:

classpath 'com.android.tools.build:gradle:0.x.+' --> classpath 'com.android.tools.build:gradle:1.0.0' 。

之所以这么设置,是因为: Eclipse 导出的 Gradle 设置已经不是Android Studio 1.0 所支持的 Gradle 已经 Gradle 插件版本,需要手动更为支持的版本。否则轻则必须不能离线导入项目,重则项目导入失败。

讲解9

打开Android Studio,选择 Open an existing Android Studio project。

讲解10

此时会弹出一个框,让你选择文件夹,这个时候需要注意的就是,你需要选择原来的 Eclipse 的工作空间目录,而不是 e-demo 目录。

点击 OK 。

讲解11

设置导入选项。

此处有一些比较重要的设置需要讲解一下。

  • Gradle project :此处通常显示的路径并不是你的 Eclipse 的工作空间的目录,而是 Eclipse 的工作空间的目录中的 gradle 路径。你需要手动删除后面的 gradle ,否则项目导入,你是看不到你的代码的,只能看到 gradle目录下的内容。
  • Create directories for empty content roots automatically :不是很明白它的作用,一般默认即可。
  • Use default gradle wrapper(recommended) 和 Use local gradle disribution :这两个是让你设置使用的 Gradle。默认会勾选 Use default gradle wrapper(recommended) ,我们需要手动勾选 Use local gradle disribution 。
  • Gradle home :勾选 Use local gradle disribution 后此项编程可编辑状态,默认的此处的地址为Android Studio安装目录中的 Gradle 路径地址。此处可能会有一些错误的警告,提示内容为: Gradle location is incorrect 。而你的这个目录下,确实是有 Gradle 的。产生这个问题的原因,很可能是因为 Gradle home 选项中,路径中的斜杠为 / 而不是 ** 。你需要点击左右的文件选择按钮,重新选择到Android Studio安装目录中的 **Gradle ,问题即可解决。
  • Offline work :设置 Gradle 使用离线的方式导入项目。你可以勾选也可以不勾选。如果你有进行 讲解8 的操作,你则可以勾选,以离线的方式进行编译。

点击 OK 。之后便会看到编译进度条,根据每个人机器的配置,编译的时间不同。

编译完成之后,自动跳转到Android Studio的主页面。在编译的工程中,会有以下的弹框:

之所以有这个弹框,是因为Android Studio默认使用 JAVA 1.7 进行编译,如果你的项目不是 1.7 ,则会弹框让你选择。建议选择 Yes ,因为当你使用 JAVA 1.7 的时候,只要不使用 JAVA 1.7 的资源自动释放这个新特性,能够完美得兼容 JAVA 1.6 的Android设备。

如果你看到下面这个界面,说明你已经导入成功了。

直接导入 Eclipse 项目

如果不使用 Generate Gradle build files 导出项目,可以使用Android Studio直接打开 Eclipse 工作空间,进行项目导入。

不使用 Gradle 编译项目

这种方式可以兼容Eclipse的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse 和Android Studio。但是在Android Studio中并不是使用 Gradle 构建项目,而是使用的 Ant 。

讲解12

打开Android Studio,选择 Import Non-Android Studio project。

在弹出的目录选择框中,选择 Eclipse 的工作空间 。

讲解13

接下来回让你选择编译环境。选择 Create project from existing sources 。

讲解14

设置 Android Studio Project 名称以及存放目录。一般默认即可。

点击 Next 。

讲解15

选择资源文件以及资源文件夹。根据你需要导入的项目进行勾选。选择一个项目的时候,你需要选择它依赖的Library 项目以及他的 src 和 gen 目录。

选择完毕,点击 Next 。

讲解16

选择要导入的 jar 。第一个 .mylyn 是 Eclipse 插件的内容,我们需要手动过滤掉,其他的根据你的需要,进行选择。

选择完毕,点击 Next 。

讲解17

选择Android Studio识别出的 Module ,也就是 Eclipse 中的 Project 。勾选你想导入的项目即可。

选择完毕,点击 Next 。

讲解18

选择编译的 SDK 。在这里,你需要选择 Android SDK ,最好和之前使用 Eclipse 时使用的SDK一样。同样,你也可以再次进行一些简单的环境设置,在此就不说了。

选择完毕,点击 Next 。

讲解19

选择识别出的 AndroidManifest.xml 文件。默认全部勾选即可。

点击 Finish ,Android Studio就开始导入项目了。

讲解18

在导入的过程中,如果Android Studio识别出原项目的依赖关系,便会弹出对话框让你进行选择。如果想保持之前的依赖关系,点击 OK 即可。

当你看到这个界面,就表示导入成功了。项目使用 Ant 构建,并不是Android Studio 默认的 Gradle 。

使用 Gradle 编译项目

本方法有一个缺点就是,一次只能导入一个 Eclipse 项目。对于那些只使用到了官方系列的支持包的 Eclipse 项目来说,会方面很多,而且同时兼容 Eclipse 文件目录结构。

讲解19

打开Android Studio,选择 Import Non-Android Studio project。

在弹出的目录选择框中,选择 你想导入的项目所在的目录,而不是 Eclipse 的工作空间 。

讲解20

Android Studio识别出你的项目是一个 Eclipse Android 项目,它将重新使用 Gradle 构建项目。

Android Studio会完整复制项目文件到一个新的目录中,你需要设置这个新目录的地址。

设置完毕,点击 Next 。

讲解21

将之前 Ant 架构改变为 Gradle 架构。

  • Replace jars with dependencies,when possible :将 Ant 的 jar 依赖关系使用 dependencies 重构。
  • Replace library sources with dependencies,when possible :将 Ant 的 library 项目的依赖关系使用dependencies 重构。
  • Create Gradle-style(cameCase) module names :使用 Gradle 的样式构建Android Studio的 Module名称。

建议全选,点击 Finish 。Android Studio开始编译项目,同时进入Android Studio主页面。

同样的,在编译的过程中,依然会提示你语言等级的问题,选择 Yes 。

导入Android Studio项目

Android Studio项目,指的是使用 Gradle 进行构建的项目。默认的文件结构如下:

project-name
+ app/
    + src/
        + main/
            + assets/
            + java/
                + package
                ...
            + res/
                + drawable/
                ...
                + layout
                ...
                + values
                ...
            | Androidmanifest.xml
    | build.gradle
+ gradle/
    + wrapper/
        | gradle-wrapper.jar
        | gradle-wrapper.properties
| build.gradle
| gradlew
| gradlew.bat
| settings.gradle

有的一些Android Studio项目有对 Eclipse 做兼容处理,项目结构看起来和 Eclipse 是相同的。

讲解22

当你从网络上或者其他地方获取到一份Android Studio项目源码时,你希望能够导入到Android Studio中。首先,你需要先对这份源码进行一些修改。具体的修改内容,请参照 讲解8 。

打开Android Studio,选择 Open an existing Android Studio project。

在弹出的路径选择框中,选择你要导入的Android Studio项目,点击 OK 。

讲解23

然后会弹出和 讲解11 相同的页面,同样,和 讲解11 进行一样的设置即可。

之后的步骤,同 讲解11 ,在此不再赘述。

其他导入方式

导入一个项目除了在Android Studio起始页进行导入之外,你也可以在Android Studio主页中进行导入。
File --> Import Project 或者 File --> Import Module 。

导入的过程和前面的讲解都是一样的,就不在赘述了。

Android Studio导入项目的更多相关文章

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

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

  2. Android Studio导入项目一直卡在Building gradle project info的解决方案

    出现了一个很神奇的现象,Android Studio导入其它项目均正常,但是导入某个项目(两天前还正常打开的项目)却一直卡在Building gradle project info 尝试了重启Andr ...

  3. Android Studio导入项目的中文注释乱码解决方法

           在Android studio中,导入Android的项目后,容易出现项目文件的中文乱码,中文无法正常显示,变成了一些格子问号之类的,导致无法查看中文的注释,下面来看看导入项目和解决乱码 ...

  4. Android Studio 导入项目错误

    Gradle DSL method not found: 'Android()' 错误原因: android studio 引进项目时,自动查找本机是否有项目设置的SDK版本,若发现没有,我们会在pr ...

  5. 解决Android studio导入项目卡死

    在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...

  6. Android Studio 导入项目 出现安装Error:Cause: failed to find target with hash string 'android-23' 等错误

    今天   在导入 一个新项目时 : 出现了这个错 Error:Cause: failed to find target with hash string 'android-23' in: C:\Use ...

  7. Android Studio导入项目非常慢的解决办法

    问题 Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势.然而在实际使用时,依然有不少不爽的地方 ...

  8. 怎么解决Android studio导入项目卡死

    在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...

  9. Android Studio -导入项目 gradle处理

    如果导入 android studio 项目, 那么一定要注意 需要合适的gradle版本,具体方法为: 首先导入步骤: 打开android studio ==> File ==> New ...

随机推荐

  1. vijos 1563 疯狂的方格取数

    P1653疯狂的方格取数 Accepted 标签:天才的talent[显示标签]   背景 Due to the talent of talent123,当talent123做完NOIP考了两次的二取 ...

  2. [POJ 1365] Prime Land

    Prime Land Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3211   Accepted: 1473 Descri ...

  3. RPi 2B SD read-only filesytem

    /**************************************************************************** * RPi 2B SD read-only ...

  4. ↗☻【编写可维护的JavaScript #BOOK#】第4章 变量、函数和运算符

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  5. 解决iframe缓存

    网上能搜到很多此类的资料,但都是互相转载,不太起作用.这几天写个用到,用了不少的iframe效果.结果发现iframe有缓存的问题.网上提供了思路,即对iframe的href后添加随即get值,来逃避 ...

  6. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.4.6

    Let $A$ and $B$ be two matrices (not necessarily of the same size). Relative to the lexicographicall ...

  7. windows 下Python import 导入自定义模块

    周末在家研究这个东西,则找到解决方案. 费话少说,上代码 #定义一个自定义的函数,如下 #函数的名称必须是字母和数字的组合,不能用数字开头 #函数名后用小括号括住入参,可以用逗号分隔多个 #如果有返回 ...

  8. NOR型flash与NAND型flash的区别

    1) 闪存芯片读写的基本单位不同  应用程序对NOR芯片操作以“字”为基本单位.为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区.读写时 ...

  9. java创建对象的四种方式

    1.最常见的 new 一个 2使用反射机制创建对象,直接调用非构造函数 Class obj=Class.forName("A"); A a=obj.newInstance(); C ...

  10. new和delete为什么要匹配

    operator new和operator delete函数有两个重载版本: void* operator new (size_t); // allocate an object void* oper ...