当前位置: 首页 > 面试题库 >

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

须曜文
2023-03-14
问题内容

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

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


问题答案:

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



 类似资料:
  • 问题内容: 所以,我想要的是选择一个项目时要运行的另一段代码。但是我的问题是,如何对特定项目实施? 这是我的代码: 我该怎么做才能添加到“车辆”,“自行车/自行车”,“船”,“房屋”,“企业”,“对象”,“工作”,“等级”和“许可证”项中? 问题答案: 如果您希望在选择更改时发生某些事情,则不希望使用MouseListener,而希望使用。它不仅是正确的抽象,而且请记住,不使用鼠标就可以更改选择。

  • 问题内容: Eclipse Helios 3.6 Windows XP SP3 我已经使用Eclipse通过以下方式下载了guava SDK: 1)在Eclipse中,转到 帮助 >安装新软件… 2)在“ 使用: ”文本框中,我使用了以下URL http://svn.codespot.com/a/eclipselabs.org/guava- bundle/trunk/repository/ 3)它

  • 问题内容: 我需要完成以下任务: 从: (向每行添加一个元素)到: 我已经尝试做类似a [n] = array([1,3,4,x])的事情 但是numpy抱怨形状不匹配。我尝试遍历并将元素x附加到每个项目,但是更改未反映出来。 关于如何实现此目标的任何想法? 问题答案: 对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumP

  • 我有以下项目:https://github.com/glusk2/sprouts 我尝试将添加到根目录文件中的整个项目中,如下所示:

  • 问题内容: 我设法下载了Eclipse Helios的svn插件。然后,我设法将一个新的存储库添加到我选择的驱动器中。但是我看不到如何知道已经创建的项目?有人可以告诉我我该怎么做。 谢谢 问题答案: 就像是: 右键单击您的项目。 选择团队->共享项目。 该向导将指导您进行初始导入。 实际上,Initial Import不会将任何代码放入项目存储库中,而只是将项目详细信息放入仓库中。因此,您需要执行

  • 问题内容: 我刚开始学习C#,目前正在尝试创建一个简单的程序,该程序从SQLite数据库读取1行数据。 我已经成功创建了该程序,但是我仍然必须引用具有完整地址的.db文件,例如: 但是这样,当我创建安装程序时,将不会包含.db。我想使它像将图像添加到我的解决方案资源管理器中时一样,可以使用以下短地址: 那么,有什么方法可以将.db文件包含到我的项目中?我试图读取当前目录并使用| DataDirec