#Android Studio导入项目
转载自:http://ask.android-studio.org/?/article/21
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就开始导入项目了。
###讲解20
在导入的过程中,如果Android Studio识别出原项目的依赖关系,便会弹出对话框让你进行选择。如果想保持之前的依赖关系,点击 OK 即可。
当你看到这个界面,就表示导入成功了。项目使用 Ant 构建,并不是Android Studio 默认的 Gradle 。
使用 Gradle 编译项目
本方法有一个缺点就是,一次只能导入一个 Eclipse 项目。对于那些只使用到了官方系列的支持包的 Eclipse 项目来说,会方面很多,而且同时兼容 Eclipse 文件目录结构。
###讲解21
打开Android Studio,选择 Import Non-Android Studio project。
在弹出的目录选择框中,选择 你想导入的项目所在的目录,而不是 Eclipse 的工作空间 。
###讲解22
Android Studio识别出你的项目是一个 Eclipse Android 项目,它将重新使用 Gradle 构建项目。
Android Studio会完整复制项目文件到一个新的目录中,你需要设置这个新目录的地址。
设置完毕,点击 Next 。
###讲解23
将之前 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 是相同的。
###讲解24
当你从网络上或者其他地方获取到一份Android Studio项目源码时,你希望能够导入到Android Studio中。首先,你需要先对这份源码进行一些修改。具体的修改内容,请参照 讲解8 。
打开Android Studio,选择 Open an existing Android Studio project。
在弹出的路径选择框中,选择你要导入的Android Studio项目,点击 OK 。
###讲解25
然后会弹出和 讲解11 相同的页面,同样,和 讲解11 进行一样的设置即可。
之后的步骤,同 讲解11 ,在此不再赘述。
##其他导入方式
导入一个项目除了在Android Studio起始页进行导入之外,你也可以在Android Studio主页中进行导入。
File –> Import Project 或者 File –> Import Module 。
导入的过程和前面的讲解都是一样的,就不在赘述了。
版权属于: HolyKnight
原文地址: http://lyxwll.github.io/2016/04/25/android-studio-import-project/
转载时必须以链接形式注明原始出处及本声明。