tangguo

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

android

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

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


阅读 705

收藏
2020-10-19

共1个答案

一尘不染

Android Studio 1.0更新

自从发布Android Studio 1.0(以及许多版本在v1.0到我上次回答之时的第一个版本)以来,某些事情已经发生了变化。

我的描述着重于通过Gradle文件手动添加外部库项目(以更好地理解过程)。如果您想通过Android Studio创建者添加库,只需通过视觉指南检查以下答案(Android Studio 1.0与屏幕截图有所不同,但过程非常相似)。

在开始手动将库添加到项目之前,请考虑添加外部依赖项。它不会弄乱您的项目结构。Maven存储库中几乎提供了每个知名的Android库,其安装仅需要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. 通过将库添加到来编辑settings.gradle include。如果像我一样使用自定义路径,则还必须为我们的库定义项目目录。整个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']
            }
        }
    }

另外,您可以为项目创建全局配置,其中将包含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文件(在应用程序和库模块中)中使用它,如下所示:

//...
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)
    }
}
//...
  1. 就这样。只需单击“与Gradle”图标同步项目与Gradle同步。您的库应该在您的项目中可用。

Google I / O 2013-新的Android SDK构建系统是有关使用Gradle构建系统构建Android应用的精彩演示:正如Xavier Ducrohet所说:

Android Studio全部涉及编辑,调试和概要分析。它不再是要构建的。

刚开始时可能有些混乱(特别是对于那些使用Eclipse并从未像我这样见过蚂蚁的人;)),但最终Gradle为我们提供了很多机会,值得学习这个构建系统。

2020-10-19