1.2.3 从Eclipse项目迁移到Android Studio
Eclipse项目和Android Studio相比,在项目结构、构建系统以及IDE的风格上都有了较大的变化。从Eclipse ADT项目迁移到Android Studio有两种方法,一是直接把Eclipse项目导入Android Studio中,二是从Eclipse导出Gradle项目,然后在Android Studio中可以直接打开导出的项目。
Android Studio是基于intelliJ IDEA开发的一款IDE,与Eclipse有很多不同的地方,特别是工程的目录结构,区别非常大。在Eclipse Android中的Project在Android Studio中是一个Module,并且Android Studio是单项目管理,每个窗口只能打开一个Project,这也是Android Studio打开更快的原因之一。在Android Studio中,有多种视图结构类型:Packages、Project Files、Scratches、Problems、Production、Tests,可以根据自己需求来使用不同的视图类型。
Eclipse和Android Studio中项目结构的对应关系如表1-1所示。
表1-1 Eclipse与Android Studio项目结构对应的关系
从表1-1可以看出,结构发生了非常大的变化,如果直接按对应关系来迁移项目中的文件对应到Android Studio的目录结果,工作量不小并且容易出错。因此,为了简化迁移过程, Android的Studio提供了一个快速导入Eclipse项目的方法,可以将Eclipse和Ant构建脚本快速转换到Android Studio上。导入步骤如下:
1)在Android Studio菜单栏选择File→New→Import Project。如果是首次使用,在欢迎页可直接选择Import Project。
2)选择需要导入的Eclipse工程目录,AndroidManifest.xml必须是在根目录下。
3)在导入过程中会提示是否重新配置Eclipse中的所有第三方库和项目依赖关系,如果勾选,就会重新生成新的第三方管理库和依赖关系,依赖关系和第三方库也可以在build.gradle文件上修改。如图1-5所示,有三个选项可以选择,前两项目是jar包的引用规则,建议勾选,这样就不用管理这些jar包了。第三项是指是否需要把Module名创建为camelCase风格(首字母小写的命名规则)。
图1-5 导出规则提示
4)单击Finish按钮,完成后会生成一个import-summary.txt文件,它是导入过程中产生的日志,这个文件比较重要,如果项目比较大,导入过程不一定顺利,可以通过这个文件来发现导入过程中出现的问题。
这样就把Eclipse Android项目导入Android Studio了,注意前面讲过,导入完成后生成了一个描述导入过程的日志文件:import-summary.txt,文件中包含以下几个内容:
□Ignored Files:描述在导入过程中忽略了哪些文件,这些文件是没有拷贝过来的,如果有需要,就要手动添加过来,一般会忽略Eclipse ADT相关的配置文件和一些自定义的文件/文件夹。
□Replaced Jars with Dependencies和Replaced Libraries with Dependencies:列出那些替换的JAR包,在Android Studio中,如果在仓库中有这个库或者SDK,就会被替换。
□Moved Files:文件移动路径列表。
□Next Steps:接下来需要做些什么,如果没有问题,一般告诉你可以编译了。
□Bugs:如果不能编译,就会列出当前项目存在的问题。
上面介绍的这种导入项目的方式也是Android官网推荐的,理由是简单高效,有问题也容易发现,最主要是不会改变原来的文件组织架构。
更多有关从Eclipse ADT迁移到Android Studio的内容可以从Android开发官网上查询:http://developer.android.com/intl/zh-cn/sdk/installing/migrate.html#prerequisites。
注意
这样导入的项目还是会保留Eclipse的构建方式,比如在Eclipse上使用Ant构建,迁移后还是会使用Ant构建,如果先从Eclipse导出成Gradle项目就使用Gradle构建,当然也可以手动改构建方式。