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

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


当前回答

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

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

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

其他回答

第一条路这是为MacBook工作的。

首先选择builder.gradle文件作为给定屏幕:

在所选屏幕上添加依赖项,如:

选择同步项目。

如果您遇到类似“在项目“:app”中找不到路径为“:signature pad”的项目”的错误,请使用第二种方法:

选择菜单文件->新建->导入模块…:

单击导入模块后,

给出图书馆路径,如我的MacBook路径:

单击Finish(完成)。现在您的库已添加。

我认为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,以避免依赖关系混乱。

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

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

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

这是我在Android Studio 1.5中的工作方式+

在要添加外部库项目的项目中,转到菜单“文件”->“新建”->“导入新模块”**,导航到要添加到项目中的库项目,选择在项目中添加“库”模块。您将在项目中获得settings.gradle,除了应用程序外,还包括库,类似于:

include ':app', ':library'

在依赖项部分中添加build.gradle(模块:app):

编译项目(“:库”)

重建项目,就这样。

*您可以添加任意数量的库(模块)。在这种情况下,在settings.gradle中,您将具有:

 include ':app', ':lib1', ':lib2', ...

在build.gradle中,您需要:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
}

将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”进行任何自动更改。也许在下一个版本中会提供此功能。