协慌网

登录 贡献 社区

如何将库项目添加到 Android Studio?

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

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

答案

Android Studio 1.0 更新

自 Android Studio 1.0 发布以来(v1.0 与我之前回答时的第一个版本之间有很多版本),一些事情发生了变化。

我的描述侧重于通过 Gradle 文件手动添加外部库项目(以便更好地理解该过程)。如果您想通过 Android Studio 创建者添加库,只需使用可视指南检查下面的答案 (Android Studio 1.0 与截图中的内容存在一些差异,但过程非常相似)。

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

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

添加库

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

  1. 通过 Android Studio 创建者创建一个新项目。我把它命名为HelloWorld
  2. 以下是 Android Studio 创建的原始项目结构:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. 在根目录( HelloWorld/ )中,创建新文件夹: /libs ,我们将在其中放置外部库(此步骤不是必需的 - 仅用于保持更清晰的项目结构)。
  2. 将库粘贴到新创建的/libs文件夹中。在这个例子中,我使用了PagerSlidingTabStrip 库 (只需从 GitHub 下载 ZIP,将库目录重命名为 “PagerSlidingTabStrip” 并复制它)。这是我们项目的新结构:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ...
  1. 通过添加要include的库来编辑 settings.gradle。如果您像我一样使用自定义路径,则还必须为我们的库定义项目目录。整个 settings.gradle 应如下所示:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')

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

include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. app/build.gradle将我们的库项目添加为依赖项:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    }

6.1。如果你按照步骤 5.1,那么按照这个而不是 6,

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

        compile project(":libs:PagerSlidingTabStrip")
    }
  1. 如果您的库项目没有build.gradle文件,则必须手动创建它。以下是该文件的示例:

    apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        }
  2. 此外,您可以为项目创建全局配置,其中包含每个模块的 SDK 版本和构建工具版本以保持一致性。只需编辑gradle.properties文件并添加行:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21

    现在您可以在build.gradle文件(在 app 和库模块中)中使用它,如下所示:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //...
  3. 就这样。只需单击,将项目与 Gradle' 图标同步与Gradle同步 。您的图书馆应该在您的项目中可用。

Google I / O 2013 - 新的 Android SDK 构建系统是一个关于使用 Gradle Build System 构建 Android 应用程序的精彩演示:正如 Xavier Ducrohet 所说:

Android Studio 完全是关于编辑,调试和分析。这不再是建筑了。

一开始它可能有点令人困惑(特别是那些与Eclipse 合作并且从未见过蚂蚁的人 - 比如我;)),但最后 Gradle 给了我们一些很好的机会,值得学习这个构建系统。

这是视觉指南:

Android Studio 0.8.2 更新

在 Android Studio 0.8.2 中,转到项目结构 - > 在模块下,单击加号按钮,然后选择导入现有项目并导入actionbarsherlock 。然后同步 Gradle 文件。

如果您遇到错误

错误:SDK Build Tools 修订版(xx.xx)太低。最低要求是 yy.yy

刚打开build.gradle文件actionbarsherlock目录并更新buildToolsVersion的建议之一。

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


菜单文件 - > 项目结构......

第一

模块 - > 导入模块

第二

导入库模块后,选择您的项目模块并添加依赖关系:

第三

然后选择导入的模块

向前

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

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

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

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

例如

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),则存在名为 “打开模块设置” 的部分。