没有 Gradle - 找不到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)

Posted

技术标签:

【中文标题】没有 Gradle - 找不到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)【英文标题】:No Gradle - No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version') 【发布时间】:2015-06-16 12:13:32 【问题描述】:

我正在使用 android Studio IDE,并且在添加 google play services 库后我不断收到此错误。请记住,这是使用基于 Eclipse 的项目,我们没有任何 gradle 文件。

未找到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)

首先让我说一下我是如何添加库的……

我找到了我的 android SDK 文件夹,然后找到了 google-play-services-jar,然后我将它复制到了我的 /libs 文件夹中。然后我就下...

文件 > 项目结构 > 库 > + 添加了google-play-services.jar

现在它列在下面,但我在线清单中不断收到上述错误......

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version"/>

我已经尝试过上下搜索该做什么,但没有什么对我有用。此外,当我进入 File > Project Structure > Modules > + Module Dependency 时,它只是说没有。

【问题讨论】:

在 Android Studio 中,您可以签入 app/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/$rootProject.ext.playServicesVersion/ res/values/values.xml 查看该整数是否由您的 gradle 构建生成。 【参考方案1】:

Play 服务 SDK 是一个 Android 库项目,而不是 JAR,这就是您无法使用版本资源的原因。撤消上面所做的所有操作,然后将以下行添加到模块的 build.gradle 文件中的 dependencies 闭包中(例如,app/build.gradle):

compile 'com.google.android.gms:play-services:7.0.0'

或者,对于更快的构建和更小的 APK,选择 more focused dependencies,用于您需要的任何 Play Services SDK 位。

您可以在the documentation 中阅读有关此过程的更多信息。


更新

显然,不知何故,这个项目直接使用了 IntelliJ IDEA 构建系统,这意味着你必须关注other advice for getting the Play Services SDK into IDEA。话虽这么说,我真的建议迁移到 Gradle,因为我并不指望能够长期直接在 Android Studio 中使用 IDEA 构建系统。

【讨论】:

我理解第一部分,但正如我所提到的,这不是一个 GRADLE 项目。所以我根本没有 build.gradle。您能否描述一下如何使用加载到 Android Studio 中且完全没有 gradle 的 ECLIPSE 项目来执行您刚才提到的操作? @eqiz:“使用加载到 Android Studio 中的 ECLIPSE 项目,绝对没有 gradle?” - 那么你在使用什么构建系统。 Android Studio 默认使用 Gradle,即使对于导入的 Eclipse 项目也是如此。如果您已手动配置 Android Studio 以使用其他构建系统(例如 Maven),则需要为该构建系统找到正确的配方。如果您没有手动指定任何内容,请查看您的项目目录,您将找到 Gradle 构建文件。请注意,如果您导入了项目,这些文件将位于 Android Studio 制作的副本中。 如何找到构建系统?我知道您在谈论什么成绩文件,它们将位于基本目录中。但它们不存在。 @eqiz:“我如何找到构建系统?” -- 如果你没有以其他方式指定,那就是 Gradle。 “但它们不存在”——那么 Android Studio 显然没有构建您的项目。我不知道您是如何在没有这些文件的情况下将项目放入 Android Studio 的。所以,去添加它们吧。 @eqiz:我不确定。搜索android-apt-compiler 表明它可能是 IDEA 自己的构建系统(Studio 基于 IntelliJ IDEA)。我不知道 IDEA 的构建系统是否支持 Android 库项目或来自工件存储库的 AAR 工件。我也不知道 Android Studio 可以直接使用 IDEA 的构建系统,而不涉及从 Gradle 构建文件生成元数据(例如,.iml 文件、.idea/ 目录)。您确定您使用的是 Android Studio,而不是常规的 IntelliJ IDEA?

以上是关于没有 Gradle - 找不到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到与给定名称匹配的资源:Eclipse 中的 attr 'colorAccent'

找不到与给定名称attr“colorPrimary”匹配的资源

appcompat-v7:21.0.0':找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'

在 Xamarin.Android 中找不到与给定名称(在“headerLayout”处)匹配的资源

检索项目的父项时出错:找不到与给定名称匹配的资源 [重复]

错误:找不到与给定名称匹配的资源(在“主题”处,值为“@style/Theme.Sherlock”)