首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Guava添加到我的Android Studio项目?

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

Stack Overflow用户
提问于 2013-10-08 05:01:03
回答 6查看 38K关注 0票数 26

首先,我意识到这个问题的存在-- How do I add a library project to Android Studio? --不幸的是,它对我没有帮助。

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

我不知道Gradle,我才刚开始使用Android Studio,我的Visual Studio/C#背景让我变得笨拙,我为此道歉(在那个米老鼠的世界里,你通常只需要添加一个库引用就可以了)。

我会用截图记录我的步骤。我基本上遵循了this answer给出的建议。

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

我把Guava仓库克隆进去了。

文件已成功显示。

我访问了Project Structure并选择了Import Module

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

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

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

但每当我试图重建这个项目时,我得到的都是:

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

(正如aforementioned answer所说)。

我上上下下搜索了一下,找到了芭乐的“正确”build.gradle

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

我确实尝试了无数的事情,我不会在这里描述它们,因为它们是相当随意的-我尝试添加模块依赖,我尝试在Gradle settings中打开Use auto-import,等等。

我知道这不是一种解决问题的方法,我保证我会勤奋地阅读Gradle的User Guide,从1到5.4.2到7.3,但我不敢相信这真的是实现像向项目添加一个库这样平淡无奇的事情的先决条件吗?为什么没有默认的build.gradle文件,如果需要的话,可以从这个文件开始处理各种事情?

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

很抱歉我的问题语气太夸张了,我知道这里的套路,这只是我发泄沮丧的方式。

从解决类似问题的问题和答案中投出了多少票来判断,我确信我不是唯一一个从更多说明中受益的人。我会立马悬赏的,但规则禁止我这么做。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-10-13 08:15:35

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

只需转到您想要使用库(即GuavaTestProject/GuavaTest/build.gradle)的模块的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源代码,这是最简单的解决方案。

票数 48
EN

Stack Overflow用户

发布于 2016-07-10 22:32:29

dependencies {
  compile 'com.google.guava:guava:19.0'
}

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

编辑:从v22开始,有特定的guava version for Android

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

*谢谢Sam :)

票数 11
EN

Stack Overflow用户

发布于 2013-10-08 05:11:29

你的问题中包含了很多信息。我也在使用Guava。但我不记得我经历过这些麻烦..

mavencentral上提供了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
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19234698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档