【问题标题】:How to include a library module dependency in an Android Studio project?如何在 Android Studio 项目中包含库模块依赖项?
【发布时间】:2014-02-05 20:50:22
【问题描述】:

我正在将一个项目从 Eclipse 迁移到 AndroidStudio。我有一个项目在这个项目中用作库。这个库叫做 PullToRefresh。

我尝试了很多方法将此项目导入 AS,但我尝试的任何方法都有效。

在我的项目中,我有这个文件夹结构:

Project Root
+-- app
|   +-- builds
|   +-- libs
|   |   +-- PullToRefresh (my lib project)
|   +-- src
|   |   +-- main (java code and resources)

在 build.gradle 中,我尝试过这样做:

dependencies {
    compile project(":libs:PullToRefresh")
}

但我收到此错误消息:

Gradle 'my_project' project refresh failed: Project with path ':libs:PullToRefresh'
could not be found in project ':app'

【问题讨论】:

    标签: android android-studio gradle android-gradle-plugin build.gradle


    【解决方案1】:

    Android Studio 基于project-modules 概念,你所有的模块都应该在一个根目录(你的项目目录)中。一个模块可以依赖于其他模块。您的库被视为同一项目下的不同模块,您的主模块(在您的情况下为应用程序)依赖于它们。

    稍微改变你的项目结构:

    Project Root
    +-- libs
        +-- PullToRefresh (my lib project)
    +-- app
    |   +-- builds
    |   +-- src
    |   |   +-- main (java code and resources)
        +-- .....
    +--settings.gradle
    

    在您的settings.gradle 中包含这一行

    include ':libs:PullToRefresh'
    

    您的 build.gradle 看起来不错。我建议您将目录名称从 libs 更改为 library,因为将 libs 用于您的 jar 依赖项而不是模块依赖项。

    并将其保存在主模块的 build.gradle 文件中:

    dependencies {
        compile project(":libs:PullToRefresh")
    }
    

    【讨论】:

    • Settings.gradle 应该是更高级别的目录,直接在项目根目录下。虽然如果它起作用了,那对我来说有点神秘。
    • @ScottBarta ya :) 我觉得我画画很差。实际上它在Android Studio中看起来像这样,所以以这种方式制作,我再次检查它是错误的。我和你发帖后说的一样。如果有误导,让我做一些更正。
    • @ScottBarta 真的!在我的情况下,settings.gradle 是一个更高的级别。我认为 pyus13 弄错了。
    • 它可以工作,但现在“libs”也被视为一个模块,并显示在 Android Studio 中。知道如何忽略它吗?
    【解决方案2】:

    从“帮助”菜单选项中搜索“导入模块”,然后会出现一个向导!

    【讨论】:

    • 这对我有用,但由于此操作,我找不到 gradle 配置。
    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 2018-03-13
    相关资源
    最近更新 更多