在这个指南里,包含了一些当你要把Eclipse项目转到Andorid Studio前需要知道的基本信息。

对WorkSapces和Sub-Projects说再见

eclipse_workspace

在Eclipse中,你可能对“Workspace”的概念很熟悉。甚至很可能就正有一个这样的安卓项目:包含了各种成员项目和编译成”.jar”的文件,这些文件还会包含在最终生成的应用里。在Android Studio中,project被“Modules”和“Library Modules”取代。

Modules

Modules是“一种独立的功能单元,可以运行、测试并且独立调试”,和Eclipse project的概念有点像,但有几点不同。

每一个Module需要有属于自己的Gradle build file(当你新建一个Module时会自动帮你生成的,当你导入一个Eclipse的项目时需自己创建)。这些Gradle文件包含了一些很重要的内容,
比如所支持的安卓版本和项目依赖的东西,以及安卓项目中其它重要的数据。

和Eclipse上的一样,一些Modules可能是”Library Modules”,功能上与”Library projects”一样的。

改进的界面设计

android_studio_designer

Android Studio有一个改进的设计窗口界面,在这里你可以看到你设计的界面以及相关的元素。Eclipse中也有一个相似的界面设计窗口,所以应该不会带给你太大的震撼。在Eclipse中,这个窗口提供了视图和可见动作,以及和资源文件关联的分发机制、多任务和信息过滤。

包含对jar文件的支持

android_studio_jar_dependency

与Eclipse中遇到的一样,你会经常需要用到第三方开发的JAR文件。然而你现在需习惯将这些.jar依赖包加入到你的Gradle中。右击”libs”目录下的.jar文件,然后选择”Add As Library”。这样你所选择的Jar文件将会自动地添加成Gradle的依赖包在你对应的Moule中。

添加Module依赖

与Eclipse类似,一个Module可能依赖于其他Module。请跟着这些步骤来建立两个modules之间的依赖,然后Android Studio将会自动地生成需要的Gradle元素。

向Android Studio迁移

阅读关于如何从Android Studio向Eclipse迁移项目,可在我的这篇文章——“向AndoridStudio导入或导出已经存在的Elipse项目”中了解具体的流程。文章里写了很多可能会发生的潜在问题,所以在这里就不讲更多的细节了。

Gradle 基础知识

新增的Gradle将会是你转到Android Studio上最大的障碍。下面有几个你需要知道的基础知识:

  • 你的Android Studio项目将有一个关于整个项目的settings.gradle文件。
  • settings.gradle文件包括项目中所有modules的引用,当你导入或者创建一个新的module时,这个文件会自动更新。
  • 每一个Andorid Studio module会有自己的build.gradle文件。
  • 如果一个Module向上依赖于另一个module,你需要添加这个依赖到所依赖部分的build.gradle文件上。
  • 如果你的Module需要一个jar文件,这个jar必须列在Module的build.gradle文件中。
  • 你可以在module的build.gradle文件上列出你要添加的远程依赖到你的项目中。
  • 有时候,你需要人工修改这些gradle文件。

更多有关Gradle的内容可以在这里找到。

使用测试

支持JUnit单元测试让Andorid Studio更完整,更多请参考这里。建立和运行一个单元测试包括:建立一个新的单元测试类和添加它们到项目的run configuration中。跟着链接的指引可以了解更多的细节。流行的测试框架如Roboguice到现在还没完全支持,但如果近期内出现,我也不会觉得惊讶。

通过Maven导入远程依赖

Android Studio允许你从Maven Central中导入远程库文件。在Maven Central中浏览你可能会感兴趣的远程库文件,然后跟着这些指示确保这些依赖能在编译的时候自动下载进去。

那么这就是你需要知道的一些基础知识。Android Studio正在高速的发展中,而且看起来每周都变得越来越好,去看一下吧


原文 Android Studio vs. Eclipse: What You Need To Know
翻译 伯乐在线 - hanson


思否编辑部
4.3k 声望116.9k 粉丝

思否编辑部官方账号,欢迎私信投稿、提供线索、沟通反馈。