26

首先,我知道这个问题的存在——如何将库项目添加到 Android Studio?- 不幸的是,它对我没有帮助。

我的目标相当简单。我想使用 Android Studio IDE (0.2.11) 和代码中的Guava 库编写一个 Android 应用程序。

我不知道 Gradle,我才开始使用 Android Studio,而我的 Visual Studio/C# 背景让我很笨拙,对此我深表歉意(在那个米老鼠世界中,您通常只需添加一个库引用就可以了)。

我将用屏幕截图记录我的步骤。我主要遵循这个答案中给出的建议。

libraries我在我的项目文件夹下创建了一个文件夹。

在此处输入图像描述

我将 Guava 存储库克隆到其中。

在此处输入图像描述

文件成功出现。

在此处输入图像描述

我去Project Structure选择了Import Module

在此处输入图像描述

在此处输入图像描述

我选择Create module from existing sources并同意所有默认选项。

我将settings.gradle文件更新为include ':libraries:guava', ':Test'

在此处输入图像描述

我的build.gradle文件是compile project(":libraries:guava")

在此处输入图像描述

但是,每当我尝试重建项目时,我得到的只是:

Error: Gradle: A problem occurred configuring project ':Test'.
> Failed to notify project evaluation listener.
> Configuration with name 'default' not found.

我确实尝试build.gradle在文件夹中放入如下内容guava

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

(正如上述答案所说)。

我已经上下搜索以找到build.gradle番石榴的“正确”。

https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild - 也没有帮助我。

我确实尝试了无数的东西,我不会在这里描述,因为它们相当随意——我尝试添加一个模块依赖项,我尝试打开Use auto-importinGradle settings等。

我知道这不是解决问题的方法,我保证我会认真阅读从 1 到 5.4.2 到 7.3 的 Gradle用户指南,但我不敢相信这是实现仅仅添加一个库到一个不起眼的东西的真正先决条件项目?为什么没有默认build.gradle文件可以在必要时开始摆弄各种事情?

真正的问题- 我如何创建一个应用程序(在 Android Studio 中),该应用程序可以在 Android 设备上构建、实际运行,并且最重要的是允许我使用 Guava,这样我就可以按值对地图进行排序,而无需编写 50 行代码? :)

很抱歉我的问题的语气很啰嗦,我知道这里的操练,这只是我发泄沮丧的方式。

从解决类似问题的问题和答案的投票数来看,我敢肯定,我不是唯一一个会从更多说明中受益的人。我会立即开始赏金,但规则禁止我。

4

6 回答 6

49

如果您只需要使用稳定的、已发布的 Guava 库版本,那么导入它非常容易。

只需转到build.gradle要使用库的模块文件(即GuavaTestProject/GuavaTest/build.gradle),然后

repositories {
    mavenCentral()
}

添加一个 Maven 依赖项:

dependencies {
    compile group: 'com.google.guava', name: 'guava', version: '15.0'
}

如果需要,重建您的项目,仅此而已(现在使用 Android Studio 0.2.13 创建的新项目进行测试)。

如果您确实需要包含 Guava 库的源代码并将其编译为 Gradle 构建的模块,那将是一个完全不同的问题,因为 Guava 是使用 Maven 构建的,因此您需要将 Guava 构建系统从 Maven 移动到 Gradle,我认为这对于您的目标来说非常复杂。

如果您只需要在调试时浏览源代码或查看它,我会做的是:

  • 在单独的文件夹中下载 Guava 源代码:

    git clone https://code.google.com/p/guava-libraries/
    git checkout v15.0
    
  • 当 Android Studio 找不到源时,单击“附加源”并指向此替代位置。

我认为如果您不需要实际修改和编译 Guava 源代码,这是最简单的解决方案。

于 2013-10-13T00:15:34.640 回答
11
dependencies {
  compile 'com.google.guava:guava:19.0'
}

来源:https ://github.com/google/guava

编辑:从 v22 开始,Android 有特定的番石榴版本

dependencies {
  compile 'com.google.guava:guava:22.0-android'
}

* 谢谢山姆 :)

于 2016-07-10T14:32:28.710 回答
8

你的问题中有很多信息。我Guava也在用。但我不记得经历过任何这些麻烦..

Guava上可用mavencentral。所以在你的项目中添加番石榴应该是相当简单的。AFAIK,您不需要签出、构建和添加项目依赖项等。

请参阅下面我的应用程序的 gradle 文件。

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
     mavenCentral()
}

// Dependencies
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar') // jar files under the libs folder.
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // actionbarsherlock,
    compile 'com.android.support:support-v4:18.0.0' // android support lib
    compile 'com.google.code.gson:gson:2.2.4' // google GSON
    compile 'com.google.guava:guava:14.0.1' // guava 14.0.1
}
于 2013-10-07T21:11:29.207 回答
6

不要使用完整的番石榴库,使用特定于 android 的版本,

dependencies {
    compile 'com.google.guava:guava:23.0-android'
}
于 2017-09-19T05:42:49.533 回答
2

在 Android Studio 0.3.0 中,这现在可以在 Mac 上正常工作。有关添加库的其他选项,请参阅发行说明 http://tools.android.com/recent/androidstudio030released


我现在一直在 Windows 上工作,有两个选项右键单击库中的 jar,您可以添加到库或者您可以按 F4 并打开库设置,这样您似乎不必在 Windows 上那么费力就像在 Mac 上一样


这就是我所做的。请阅读到最后,因为它的工作方式不一致,如果您没有看到蓝色箭头,请先尝试有一个解决方案。首先,我创建了一个 libs 文件夹。我不认为这是必要的,但这是一种习惯。

在此处输入图像描述

首先尝试转到文件,项目结构。

如果您在左上角看到一个蓝色的小箭头,按下它,您将进入可以添加库的屏幕

在此处输入图像描述

如果您设法进入下面的此屏幕,请按加号并添加库。 在此处输入图像描述

您可能还会在底部看到一条红线,表示番石榴未与灯泡一起使用。此填充将依赖关系添加到 Gradle 构建文件 在此处输入图像描述

如果您没有看到蓝色箭头

转到文件,其他设置,默认项目结构。

在该屏幕上,您可以添加库 在此处输入图像描述

然后回到项目结构并添加它。问题是它将保留为所有项目的默认设置,因此您可以通过项目结构菜单为每个单独的项目添加和删除它。我不确定这是否是 Android Studio 中的一个错误,即您可以被阻止将其添加到单个项目而不更改默认值。

于 2013-10-12T18:34:32.020 回答
1

对于 Android Studio 3.2.1

单击文件/项目结构菜单 (ctrl+alt+shift+S)。在应用程序菜单的 Dependencies 选项卡中按 + 按钮以添加Library 依赖项。

查找 com.google.guava:guava:(无论数字是最新的数字) 并添加它。

将 Guava 添加到 Android Studio 项目 将 Guava 添加到 Android Studio 项目

于 2018-11-19T23:19:03.133 回答