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

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


当前回答

选项1:将文件放入项目的libs/目录

然后,相关的build.gradle文件将自动更新。

选项2:手动修改build.gradle文件

打开build.gradle文件,将新的构建规则添加到依赖关系闭包中。例如,如果要添加Google Play Services,项目的依赖项部分将如下所示:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

选项3:使用Android Studio的用户界面

在“项目”面板中,按住Ctrl键并单击要添加依赖项的模块,然后选择“打开模块设置”。

选择Dependencies选项卡,然后单击左下角的+按钮。您可以从以下选项列表中选择:

库相关性文件相关性模块相关性

然后,可以输入有关要添加到项目中的依赖项的详细信息。例如,如果选择Library Dependency,Android Studio将显示一个库列表供您选择。

添加依赖项后,检查模块级build.gradle文件。它应该已自动更新以包含新的依赖项。

来源

其他回答

这是我在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')
    ...
}

使用菜单“文件”->“项目结构”->“模块”。

我今天开始使用它。这有点不同。

对于Sherlock,您可能希望删除他们的测试目录,或者将junit.jar文件添加到类路径中。

要使用gradle导入库,必须将其添加到build.gradle(模块的一个)的dependencies部分。

E.g.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

Android Studio正在发生变化。

如果您右键单击Android项目部分中的模块文件夹Studio(我使用的是0.2.10版本)。

事实上,随着版本的变化,用户界面和菜单上可用的选项也在变化。在阅读了这些问题的大部分答案后,我不得不猜测Android Studio 1.1.0的工作原理。

用鼠标选择主级别的项目(这是它显示应用程序名称的地方)。单击鼠标右键,然后选择菜单选项“新建”、“文件夹”、“资源文件夹”。创建资产文件夹后,将库所需的任何JAR文件粘贴或复制到其中。从Android Studio的主菜单(屏幕顶部)选择文件->项目结构。然后选择项目名称并转到“依赖项”选项卡。单击对话框左下角的加号(+)并选择文件相关性。最后打开最近创建的资产文件夹,选择复制的JAR文件,然后单击apply和OK。

清理并重建项目。

按F4显示项目结构,单击库或全局库,然后单击+添加JAR文件。单击Modules what you want add jar,选择Dependencies选项卡,单击+,然后添加Library。

我有一个不同的原因,所以对于人们来说:

repositories {
    mavenCentral()
}

将mavenCentral()更改为jcenter()并添加

allprojects {
    repositories {
        jcenter()
    }
}