在项目结构中找不到导入模块选项(Android Studio 0.3.4 - 0.5.2)

时间:2013-11-11 03:42:22

标签: android android-studio android-library android-gradle

我变得非常困惑和沮丧因为我无法理解如何将我的android库项目导入为我的应用程序项目的依赖项。

我尝试在线查找并建议大多数答案转到我的应用程序的项目结构,然后单击“+”然后单击“导入模块”

但Android Studio 0.3.4 - 0.5.2没有显示任何选项,当我点击“+”时,它只显示新模块的窗口。

我做错了什么或什么?

帮助!!!

5 个答案:

答案 0 :(得分:17)

使用基于Gradle的项目时会遇到这种情况,因为这个项目是;即使在0.3.2中,这个导入项目命令也做错了;它似乎可行,并且会使编辑器中的语法着色正常工作,但是当您尝试构建和运行应用程序时它会失败,并且当您使用Gradle构建文件重新同步项目时,您的更改将会丢失。这就是为什么它被删除,直到它可以正确重新实现。跟踪它的错误是https://code.google.com/p/android/issues/detail?id=62122

与此同时,要将现有库添加为依赖项,您需要在Gradle构建文件中手动执行此操作。为此,请移动库,使其目录位于项目根目录下(此时,不包括项目根目录外的模块),编写将构建模块的build.gradle构建文件,并包含settings.gradle文件中的模块。

如果您浏览文件>您可能会觉得更容易New Module ...命令用于创建空白模块,根据需要选择普通Java模块或Android模块,并将库文件复制到需要的模块目录中。这将为您处理Gradle文件并设置框架目录结构。

答案 1 :(得分:12)

对于android studio 0.5.7,按照以下步骤成功导入了volley作为库项目:

  1. 在项目根目录下创建名为" libraries"(无论哪个)的目录
  2. 在步骤1中创建的目录下使用git克隆凌空,命令为" git clone https://android.googlesource.com/platform/frameworks/volley"。现在项目结构如下:

    [Project root]
    |- [Your module]
    |- libraries
       |- volley
    
  3. 导入排球:右击项目根目录 - >打开模块设置 - >点击左上角的" +"(新模块) - >导入现有项目 - >选择volley源目录 - >下一个 在第3步之后,导入了齐射,但尚未设置对库项目齐射的依赖。
  4. 设置模块依赖项:右键单击项目根目录 - >打开模块设置(现在凌空应出现在模块列表中) - >选择[您的模块] - >切换到标签"依赖关系" - >点击左下角的" +"(添加) - >选择"模块依赖" - >选择":排球"在模块列表对话框中
  5. 现在一切正常,你可以随意使用排球

答案 2 :(得分:10)

我有类似的问题。我打开了settings.gradle文件并添加了库include ':Test', ':libraries:MyLibrary',然后在build.gradle添加了行:compile project(':libraries:MyLibrary')。如果您这样做:右键单击项目 - >打开模块设置 - >你的项目 - >依赖关系,您将在build.gradle中看到相同的依赖关系。顺便说一句,在这个动作之后我重新启动了Android Studio,然后IDE创建了* .iml文件。

答案 3 :(得分:2)

最后,导入模块功能已经到达2014年3月27日发布的Android Studio 0.5.3。

看看这里:http://tools.android.com/recent/androidstudio053released

我也在项目结构窗口中测试了它。

在“模块”选项卡中,您现在可以按“+”按钮并导入现有模块或创建新模块。

答案 4 :(得分:0)

使用版本 0.3.6 时遇到同样的问题。最后我决定回到 0.3.2 。现在它的工作原理。 我认为AS限制了连接的能力,所以说不同的项目。 我有一个( Android / Gradle project0 和一个( Java / Maven project1 。当我尝试将 project1 作为 project0 的模块导入时,我失败了,因为我唯一的“选项”是创建一个新模块。 当我尝试为 Java / Gradle 项目导入相同的模块( project1:Java / Maven )时,根本没有问题。

可能原因是 Android / Gradle 甚至只是 Android 项目的性质,但我现在无法确认我的假设。