Android Studio-如何在单个窗口中打开多个项目?


81

我已经下载了Android Studio,并开始将其用于Android开发。

我需要知道,如何在单个窗口(如Eclipse)中打开多个项目。希望有所帮助,谢谢。

Answers:


33

在Android Studio / IntelliJ IDEA中无法在一个窗口中打开两个项目。因此,当您打开第二个项目时,必须决定:

新项目可以在新窗口中打开,也可以在现有窗口中替换该项目。您想如何打开该项目?

此限制非常有用,因为您的窗口提供了项目特定的功能,例如VCS信息的“更改”选项卡等。

如何使用图书馆项目?

现在,您可以将库项目复制到项目文件夹中,并将其声明为模块依赖项。如果在不同项目中使用相同的库,则最终将需要多次代码。

ProjectA                   ProjectB
 facebook-sdk/              actionbarsherlock/
 actionbarsherlock/         bin/
 bin/                       src/
 src/                       ...
 AndroidManifest.xml

尽管这带来了一些不便,但它有助于在VCS中拥有所有必需的来源。不久,新的构建系统Gradle将愉快地管理这些依赖项。这是一个示例示例,说明Gradle构建可能包含ActionBarSherlock或类似的库:

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.actionbarsherlock:library:4.2.0'
}

此答案中,您将找到为什么该解决方案无法使用的一些原因。


thanx为您解答。如果参考图书馆项目,如何将其导入同一窗口
SelvaMariappan 2013年

5
@ottel在eclipse中,我们可以在项目资源管理器中看到两个或多个项目,但是我们看不到android studio。为什么Google的android开发人员不考虑使用Android Studio,所以开发人员的生活可以更轻松而不是更辛苦。
阿伦·库玛

此选项似乎已在Android Studio 2.0+中删除
Essej '16

59

IntelliJ IDEA为您使用的整个代码库创建一个项目,并为其每个单独的组件创建一个模块。因此,IntelliJ IDEA模块更像一个Eclipse项目,并且该项目与Eclipse工作区大致相似。包含您所有工作的Eclipse工作空间并不完全等效,但是您可以同时在多个框架中打开多个项目。

下表可以帮助您了解Eclipse和IntelliJ IDEA概念如何相互映射:

Eclipse               IDEA
Workspace             Project
Project               Module
Project-specific JRE  Module JDK
User library          Global library
Classpath variable    Path variable
Project dependency    Module dependency
Library               Module library

要使用该库,请将其添加为依赖项:

文件>项目结构>模块>依赖关系

然后添加模块(android库)作为模块依赖项。


7
那是不对的。IDEA中的项目与工作区不同。考虑一下:您将minSDK,target和maxSDK设置为项目,它对项目进行了一些配置。但是工作区没有任何配置。该项目只是一个项目,但是可以像eclipse中一样具有多个包。就这样。
Sterling Diaz

2
@Sterling Diaz实际上这是真的。您可以在build.gradle文件中为每个模块分别设置“最小”和“目标” sdk级别,而不是为整个Project设置任何设置,就像您对Workspace所说的那样。您甚至可以为每个模块设置“版本”和任何您想使用的属性,然后分别进行编译。所以Project很像Workspace,没有人说它就是Workspace。
mykolaj 2015年

4
有用的帖子。非常令人困惑的是,Eclipse中的项目大致等同于IDEA中的模块。一次在IDEA中打开多个项目将是一个非常不错的功能。我有一套Java库,Android库和基于一个或两个的多个应用程序。每个应用程序都有一个免费,付费和通用的模块。最好一起查看这些库和每个应用程序。也许将来会增强吗?
达斯汀

但是,如果导入模块,则会复制代码(如果Im错误,请更正我)。这意味着应用于模块的更改不会应用于另一个项目中导入的同一模块吗?
最白目

(我测试了它,就像我假设的那样)。在eclipse的工作空间中,项目将指向相同的源。没有冒犯,但是写的不是真的。
最白目

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.