我收到“错误:未找到与给定名称匹配的资源(值为@integer/google_play_services_version)”

Posted

技术标签:

【中文标题】我收到“错误:未找到与给定名称匹配的资源(值为@integer/google_play_services_version)”【英文标题】:I'm getting "Error: No resource found that matches the given name (at value with value @integer/google_play_services_version)" 【发布时间】:2014-07-18 09:41:06 【问题描述】:

我正在 Ionic Framework/cordova 上开发一个应用程序,当我尝试“cordova run android”时,我得到了这个:

“错误:找不到与给定名称匹配的资源(在值与 值 @integer/google_play_services_version)"

我真的不知道发生了什么,我尝试将值设置为固定值(我知道不是最好的解决方案),问题仍然存在。

提前致谢!

【问题讨论】:

developers.google.com/maps/documentation/android/… 【参考方案1】:

对于使用 Android Studio 和/或 Gradle 遇到此问题的任何人,您只需确保您的成绩文件中具有正确的依赖项。同样,不要将此值硬编码到versions.xml 文件中。

Gradle 例如。

dependencies 
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services-gcm:7.5.0'

【讨论】:

在此答案的基础上,您可以通过在您的 plugin.xml 文件中添加一个框架元素,让 Cordova 在构建期间为您添加此 Gradle 依赖项:。我正在使用 Cordova 5.1.1 版和 cordova-android 4.0.2 版。【参考方案2】:

将 google-play services_lib 库项目复制到您的工作区或将库项目导入您的 Eclipse。

点击文件>导入,选择Android>Existing Android Code into Workspace,浏览工作区导入库项目。

右键单击您的 android 项目。转到属性。在左侧面板上选择 Android。单击添加并浏览库项目。选择相同。点击确定并申请。

查看此链接以供参考。 http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

【讨论】:

如果已经有但您仍然收到错误消息怎么办? 抱歉回复晚了,可能是您没有正确链接 google play library 与您的项目。查看此链接developer.android.com/tools/projects/…【参考方案3】:

正确安装和配置 Google Play 服务 SDK。您无需对该值进行硬编码。

将 Google Play 服务添加为 Android 库项目。

我发现必须将播放服务 libproject 导入到与您的项目相同的物理驱动器上。 (导入时选中“将项目复制到工作区”复选框)

【讨论】:

如果你使用 Unity3d,你会怎么做? 下载 SDK 后,您可以从这里将其添加为项目:[AndroidSdk_Home]/extras/google/google_play_services/libproject/google-play-services_lib .. 感谢:***.com/a/17611095/2162226 将播放服务 libproject 添加到同一个物理驱动器对我有用。【参考方案4】:

我通过从 google play 服务库复制 version.xml 文件解决了这个问题。

google-play-services_lib/res/values/version.xml 

到我的项目

MyApp/res/values/version.xml

【讨论】:

也帮助了我...谢谢! 这个答案有点错误,因为当谷歌更新它的支持库时,他们会更新 @integer/google_play_services_version 的值,你的应用程序会出现问题。可以很容易地用这个答案修复它,但修复是暂时的【参考方案5】:

您需要将播放服务库添加到您的项目中。这仅通过添加外部 jar 不起作用。您需要将 play_services_lib 项目导入您的工作区。然后通过转到

将这个库添加到您的项目中

你的项目 -> 属性 -> Android -> 库

查看此链接以获取有关如何将 play_services_lib 导入工作区的详细说明

http://developer.android.com/google/play-services/setup.html

在此之后错误将消失,您无需添加任何固定值。

【讨论】:

【参考方案6】:

对于使用 Android Studio / Gradle 遇到此问题的任何人,您只需要确保您的成绩文件中有正确的依赖项。

    您需要设置 Google Play 服务 – https://developers.google.com/android/guides/setup (1. Debes configurar Google Play Services)

    如果您已经完成了上一步,那么 (si ya completaste ese paso entonces)... 假设你有这个 Gradle:(suponiendo que ya tienes un archivo Gradle asi:)

    依赖 编译 fileTree(dir: ‘libs’, include: [‘*.jar’]) 编译‘com.google.android.gms:play-services-gcm:7.5.0’

您需要为 Gradle 添加一行以包含 Google Play 服务库 (solo necesitas agregar un solo renglon para que Gradle incluya la libreria de Google Play Services library)

依赖 编译 fileTree(dir: ‘libs’, include: [‘*.jar’]) 编译‘com.android.support:appcompat-v7:21.0.3’ 编译‘com.google.android.gms:play-services-gcm:7.5.0’

将此值硬编码到versions.xml 文件中是一种不好的做法(请参考“quemar” o dejar fijo este valor en el archivo mencionado)

【讨论】:

maograciag.wordpress.com/2015/10/22/…【参考方案7】:

对于在 Unity3D 中构建时遇到此问题的任何人:

1.Assets/PlayServicesResolver/AndroidResolver/ResolveClientJars

2.再次构建

今天为我解决了这个确切的问题。

stderr[
AndroidManifest.xml:19: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version'). 
]

【讨论】:

以上是关于我收到“错误:未找到与给定名称匹配的资源(值为@integer/google_play_services_version)”的主要内容,如果未能解决你的问题,请参考以下文章

我收到“错误:React.Children.only 预计会收到一个 React 元素子项。”带有 TouchableWithoutFeedback

当我没有收到手动运行代码时,在 Python for 循环中收到 KeyError

尝试控制台时收到 401~UNAUTHORIZED。记录我从 socket.io 收到的消息

无效的字典 0 )。为啥我收到此错误?

为啥我收到远程通知时没有发送本地通知?

我收到以下异常[重复]