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

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


当前回答

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

其他回答

选项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文件。它应该已自动更新以包含新的依赖项。

来源

打开构建gradle模块应用程序文件并添加依赖项。如果您下载了库,只需导入并构建为grade。

否则,在侧渐变模块应用程序中添加存储库:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

第一个存储库将为您下载库。

并编译下载的库:

 compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }

如果要创建库,只需将项目作为导入新模块导入即可。

对于Android Studio:

单击Build.gradle(模块:app)。

并添加

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

在您的目录“app”中,创建一个目录“libs”。添加文件yourfile.jar:

最后,编译Gradle文件:

Android Studio 1.0更新

自从Android Studio 1.0发布以来(从我之前的回答开始,许多版本介于1.0版和第一个版本之间),一些事情发生了变化。

我的描述侧重于通过Gradle文件手动添加外部库项目(以便更好地理解过程)。如果你想通过Android Studio创建器添加库,只需查看下面的答案和视觉指南(Android Studio 1.0和截图中的有些不同,但过程非常相似)。

在开始手动向项目添加库之前,请考虑添加外部依赖项。它不会打乱你的项目结构。几乎所有知名的Android库都可以在Maven存储库中找到,其安装只需要app/build.gradle文件中的一行代码:

dependencies {
     implementation 'com.jakewharton:butterknife:6.0.0'
}

添加库

以下是将外部Android库添加到我们的项目的完整过程:

通过Android Studio创建者创建新项目。我把它命名为HelloWorld。以下是Android Studio创建的原始项目结构:

HelloWorld(HelloWorld)/应用程序/-build.gradle//本地gradle配置(仅适用于应用程序)...-build.gradle//全局渐变配置(用于整个项目)-设置.坡度-梯度.属性...

在根目录(HelloWorld/)中,创建新的文件夹:/libs,我们将在其中放置外部库(这一步骤不是必需的,只是为了保持更干净的项目结构)。将库粘贴到新创建的/libs文件夹中。在本例中,我使用了PagerSlidingTabStrip库(只需从GitHub下载ZIP,将库目录重命名为“PagerSliding TabStrip”并复制它)。以下是我们项目的新结构:

HelloWorld(HelloWorld)/应用程序/-build.gradle//本地渐变配置(仅适用于应用程序)...图书馆/页面滑动选项卡条/-build.gradle//本地渐变配置(仅适用于库)-build.gradle//全局渐变配置(用于整个项目)-设置.坡度-梯度.属性...

通过添加要包含的库来编辑settings.gradle。如果您像我一样使用自定义路径,则还必须为库定义项目目录。整个设置渐变应如下所示:包括“:app”,“:PagerSlidingTabStrip”project(“:PagerSlidingTabStrip”).projectDir=新文件('libs/PagerSlidngTabStrip')

5.1如果您遇到“默认配置”错误,请尝试执行此操作,而不是执行步骤5,

    include ':app'
    include ':libs:PagerSlidingTabStrip'

在app/build.gradle中添加我们的库项目作为依赖项:从属关系{实现文件树(dir:'libs',include:['*.jar'])实现“com.android.support:appcompat-v7:21.0.3”实施项目(“:PagerSlidingTabStrip”)}

6.1.如果您按照步骤5.1进行操作,请按照步骤5.1而不是步骤6进行操作,

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'

        implementation project(":libs:PagerSlidingTabStrip")
    }

如果您的库项目没有build.gradle文件,则必须手动创建它。以下是该文件的示例:应用插件:“com.android.library”从属关系{实现“com.android.support:support-v4:1.0.3”}机器人{compileSdkV版本21buildTools版本“21.1.2”默认配置{minSdk版本14targetSdkV版本21}源集合{主要的,主要的{manifest.srcFile“AndroidManifest.xml”java.srcDirs=['src']res.srcDirs=['res']}}}此外,您可以为项目创建一个全局配置,其中包含每个模块的SDK版本和构建工具版本,以保持一致性。只需编辑gradle.properties文件并添加行:ANDROID_BUILD_MIN_SDK_VERSION=14ANDROID_BUILD_TARGET_SDK_VERSION=21ANDROID_BUILD_TOOLS_VERSION=21.1.3ANDROID_BUILD_SDK_VERSION=21现在,您可以在build.gradle文件(应用程序和库模块中)中使用它,如下所示://...机器人{compileSdkVersion Integer.parseInt(项目.ANDROID_BUILD_SDK_VERSION)buildToolsVersion项目.ANDROID_BILD_TOOLS_VERSION默认配置{minSdkVersion Integer.parseInt(项目.ANDROID_BUILD_MIN_SDK_VERSION)targetSdkVersion Integer.parseInt(项目.ANDROID_BUILD_TARGET_SDK_VERSION)}}//...仅此而已。只需单击“将项目与Gradle同步”图标。您的库应在项目中可用。

谷歌I/O 2013-新的Android SDK构建系统是一个关于使用Gradle构建系统构建Android应用程序的绝佳演示:正如Xavier Ducrohet所说:

AndroidStudio主要是编辑、调试和分析。这与建筑无关。

一开始,它可能有点令人困惑(尤其是对于那些使用Eclipse并且从未见过像我这样的蚂蚁的人;),但最终Gradle给了我们一些很好的机会,值得我们学习这个构建系统。

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

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

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

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