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

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


当前回答

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

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

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

其他回答

如果您需要访问库项目的资源(就像您使用ABS一样),请确保将库项目/模块添加为“模块依赖项”而不是“库”。

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0是如何在最新版本的AndroidStudio 1.0.1中添加JAR文件和库项目的Dropbox链接。

请查看带有截图的文档。对于新用户来说,这非常容易。

在导入ABS模块(从文件>项目结构)并确保其具有Android 2.2和Support Library v4作为依赖项后,我仍然收到以下错误,因为您@Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

我将新导入的模块作为依赖项添加到我的主应用程序模块中,这解决了问题。

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

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

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

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

例如,给定以下结构:

我的项目/

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

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

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

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

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