如何将Guava添加到我的Android Studio项目中?

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

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

我不知道Gradle,我只是开始使用Android Studio而且我的Visual Studio / C#背景让我失望了,为此我道歉(在Mickey Mouse世界中,你通常只是添加一个库引用而不是你去)。

我将用截图记录我的步骤。 我大多数都遵循这个答案给出的建议。

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

在此处输入图像描述

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

在此处输入图像描述

文件成功出现。

在此处输入图像描述

我去了Project Structure并选择了Import Module

在此处输入图像描述

在此处输入图像描述

Create module from existing sources选择了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. 

我确实尝试在guava文件夹中放置如下的build.gradle

 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'] } } } 

(正如前面提到的答案所说)。

我上下搜索,find番石榴的“正确” build.gradle

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

我尝试了无数的事情,我不会在这里描述,因为它们很随意 – 我尝试添加模块依赖项,我尝试在Gradle settings启用“ Use auto-import ”等。

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

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

抱歉我的问题很温和,我知道在这里练习,这只是我放弃挫折感的方式。

根据解决类似问题的问题和答案投了多少票,我敢肯定,我不是唯一一个能从更多指令中受益的人。 我会立即开始给它一个赏金,但规则禁止我。

Solutions Collecting From Web of "如何将Guava添加到我的Android Studio项目中?"

如果您只需要使用稳定的,发布的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源代码,这是最简单的解决方案。

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

Guava可以在mavencentralmavencentral 。 因此,将guava添加到项目中应该相当简单。 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 } 
 dependencies { compile 'com.google.guava:guava:19.0' } 

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

编辑:从第22节开始,有针对Android的特定番石榴版本 。

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

*谢谢山姆:)

不要使用完整的guava库,使用特定于android的版本,

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

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


我现在一直在Windows上工作,有两个选项右键单击libs中的jar,你有一个库添加或者你可以推F4并打开库设置所以你似乎不必在Windows上挣扎太多就像在Mac上一样


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

在此处输入图像描述

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

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

在此处输入图像描述

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

您可能还会在底部看到一条红线,表示Guava没有使用灯泡。 此填充将依赖性添加到Gradle构建文件 在此处输入图像描述

如果你不看蓝色箭头

转而使用文件,其他设置,默认项目结构。

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

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