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

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


当前回答

基本上,您可以以三种不同的方式包含JAR文件。最后一个是正在使用的远程库https://bintray.com/jcenter在线存储库。但是,如果您以其他两种方式之一执行,JAR文件将实际包含在项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941了解更多信息。在这篇文章中,我解释了如何在AndroidStudio中导入JAR文件,并解释了所有可能的方法。

总之,如果是这样的(本地地址),则会下载这些JAR文件,并且这些JAR文件实际上在项目中:

但是,如果是这样的互联网地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:

我希望这有帮助。

其他回答

将JAR文件作为库添加到Android Studio项目的简单方法:

a) 复制*.jar文件

b) 粘贴到项目下的libs目录:

c) 添加到build.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

b) 如果示例com.example.MYProject和库com.example.ScanAPI中的项目具有相同的命名空间com.example,Android Studio将检查您的构建并在项目中创建所有必要的更改。之后,您可以在菜单“文件”->“项目结构”中查看这些设置。

c) 如果您的项目和库具有不同的名称空间,则必须右键单击库并选择选项“添加为库”,然后选择所需的类型。

请记住,在当前版本的Android Studio(0.2.3)中,“Project structure”选项不会对“build.gradle”进行任何自动更改。也许在下一个版本中会提供此功能。

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

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

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

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

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

基本上,您可以以三种不同的方式包含JAR文件。最后一个是正在使用的远程库https://bintray.com/jcenter在线存储库。但是,如果您以其他两种方式之一执行,JAR文件将实际包含在项目中。请阅读此链接https://stackoverflow.com/a/35369267/5475941了解更多信息。在这篇文章中,我解释了如何在AndroidStudio中导入JAR文件,并解释了所有可能的方法。

总之,如果是这样的(本地地址),则会下载这些JAR文件,并且这些JAR文件实际上在项目中:

但是,如果是这样的互联网地址,它们是远程库(bintray.comjcenter部分),它们将被远程使用:

我希望这有帮助。

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

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

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