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

发布于 2021-01-30 17:22:55

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

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

关注者
0
被浏览
478
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    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为我们提供了很多机会,值得学习这个构建系统。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看