如何将库项目(如Sherlock ABS)添加到Android Studio?

(不适用于旧的基于ADT Eclipse的捆绑包,而是适用于新的Android Studio。)


当前回答

要解决此问题,只需将abs资源路径添加到项目构建文件中,如下所示:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

所以,我再次编译,没有任何错误。

其他回答

您可以使用Gradle依赖项配置[关于]将一些依赖项添加到项目中

<模块名>/build.gradle

dependencies {
  //<gradle_dependency_configuration> '<dependency_name>:<dependency_version>'
  //e.g.
  implementation 'com.android.support:appcompat-v7:1.1.1'
}

你可以很容易地做到这一点。转到菜单文件->新建->导入模块…:

浏览包含模块的目录。单击“完成”:

转到项目结构并添加模块依赖项:

注意:如果您收到SDK错误,请更新该错误。

我也遇到了同样的问题,然后我做了以下事情。

我使用菜单文件->导入模块菜单将库项目作为模块导入到AndroidStudio IDE中然后我转到主模块,在该模块中,我希望库项目作为从属项目右键单击主模块(在我的情况下,它的名称是app)->打开模块设置->进入依赖项选项卡->单击+按钮(您将在窗口右侧看到它)->单击模块依赖项->从列表中选择库项目

应用更改并单击“确定”按钮。

它对我有用。我希望它也能帮助其他人。

通过GUI编辑库依赖项是不可取的,因为它不会将这些更改写入build.gradle文件。因此,您的项目不会从命令行构建。我们应该直接编辑build.gradle文件,如下所示。

例如,给定以下结构:

我的项目/

应用程序/图书馆/库1/lib2语言/

我们可以确定三个项目。Gradle将使用以下名称引用它们:

:应用程序:库:lib1:库:lib2

:app项目可能依赖于库,这是通过声明以下依赖项来实现的:

dependencies {
    compile project(':libraries:lib1')
}

我认为Dependencies、Android Libraries和多项目设置是必要的阅读。请花几分钟时间这样做。

特别是,在非jar库项目的情况下,请阅读上述源代码中的以下代码片段:

通过使用多项目设置,渐变项目也可以依赖于其他渐变项目。多项目设置通常通过将所有项目作为给定根项目的子文件夹来工作。例如,给定以下结构:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/

我们可以确定3个项目。Gradle将使用以下名称引用它们:

:app
:libraries:lib1
:libraries:lib2

每个项目都会有自己的build.gradle,声明它是如何构建的。此外,在声明项目的根目录中将有一个名为settings.gradle的文件。这给出了以下结构:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

settings.gradle的内容非常简单:

include ':app', ':libraries:lib1', ':libraries:lib2'

这定义了哪个文件夹实际上是Gradle项目。:app项目可能依赖于库,这是通过声明以下依赖项来实现的:

dependencies {
    compile project(':libraries:lib1')
}

请注意,很少或根本没有使用Android Studio GUI来实现这一点。

我目前正在使用git子模块将嵌套库链接到实际的库git repo,以避免依赖关系混乱。