将 Google Play 服务版本添加到您的应用清单?

Posted

技术标签:

【中文标题】将 Google Play 服务版本添加到您的应用清单?【英文标题】:Adding Google Play services version to your app's manifest? 【发布时间】:2013-11-21 16:33:32 【问题描述】:

我正在关注本教程:https://developers.google.com/maps/documentation/android/start#overview 关于如何将 Google 地图添加到 Android SDK 中的应用程序。

我似乎遇到的唯一问题是在这段时间(我已经完成了其他所有操作,没有任何错误):

Edit your application's AndroidManifest.xml file, and add the following declaration within the

 <application> element. This embeds the version of Google Play services that the app was compiled with.

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

The error is:
   No resources found that match the given name (at 'value' with value '@integer/    
   google_play_services_version').

我试图按照这个人的解决方案来解决同样的问题:Google Play Services Library update and missing symbol @integer/google_play_services_version

但我仍然遇到同样的错误。有什么帮助吗?

【问题讨论】:

如果 Eclipse 给您带来麻烦,请尝试这样做:***.com/a/19990244/166921 【参考方案1】:

可能是您的库未正确链接到项目,或者您的 google-play-services 库版本较旧,因此出现冲突并且 Eclipse 变得愚蠢..:S

不,您不需要在 integers.xml 中添加任何内容。当您正确地将 Google-play-services 库链接到您的项目参考 android:value="@integer/google_play_services_version" 时,您将可以开始使用。当您将库添加到您的项目时,只需再做一个干净而有趣的 Eclipse 环境就可以正确地清除一些东西。

如果您在下一个游戏版本到来时将这个数字硬编码到某个地方,您需要更新它。如果你忘记了,你将再次花时间寻找错误..:S

希望它有所帮助。 ;)

【讨论】:

是的,在 android studio 上,我已将 google play 服务添加为模块(而不是库),但我忘记将此模块添加到清单文件所在的项目模块中。这解决了问题:) 谢谢,这解决了我的问题。有关在 Eclipse / ADT 中引用库项目的防白痴分步指南,请参阅the Google Tools docs。我显然是个白痴,因为我试图在“Java Build Path : Libraries”下添加库 - 没用。 抱歉回复晚了,但是是的,这是问题所在,库没有正确链接到我的项目! 如何为 Ant 做到这一点? 如果有帮助,我必须在 Android Studio 中采取更多步骤。转到:项目结构->应用程序->依赖项->单击+为库添加选项->播放服务(x.x.x)。重建时出现错误,添加的库是 play-services...0.0。我错过了 Extras 下 SDK 管理器中的 Google Play 存储库。当我回来并重复这些步骤时,图书馆现在有了一个实际的版本号并成功重建。【参考方案2】:

我得到了解决方案。

第 1 步:在 Package Explorer 中右键单击您的项目(Eclipse 中的左侧) 第 2 步:转到 Android。

第 3 步:在库部分添加库...(google-play-services_lib) 见下图

将库项目复制到

&lt;android-sdk&gt;/extras/google/google_play_services/libproject/google-play-services_lib/

到您维护 Android 应用项目的位置。 如果您使用的是 Eclipse,请将库项目导入您的工作区。点击 File > Import,选择 Android > Existing Android Code into Workspace,然后浏览到库项目的副本以将其导入。 Click Here 了解更多。 第四步:点击应用 第五步:点击确定 第 6 步:从包资源管理器中刷新您的应用。 第 7 步:您会看到错误消失了。

【讨论】:

【参考方案3】:

来自here

您应该引用您复制到的库的副本 你的开发工作区——你不应该引用这个库 直接从 Android SDK 目录。

我遇到了这个错误,因为我引用了 SDK 目录中的原始副本。确保首先将库复制到 android 工作区并仅引用它。在 Eclipse 中,您可以通过在导入项目时选中“将项目复制到工作区”来做到这一点。

【讨论】:

aiaiai,因为没有勾选这个框而浪费了几个小时......很高兴我找到了这个答案!应该在 Google 文档中更清楚。 这是我的问题,除了 google lib 的源文件夹未复制到我的工作区之外,所有内容都按照应有的方式引用 这个修复也对我有用。但想知道在技术上有何不同? Google 应该在此处更新屏幕截图/说明:developers.google.com/+/mobile/android/getting-started【参考方案4】:

在 Android Studio 中,您只需将其添加到 Gradle 文件即可解决此问题:

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

编辑

现在,由于更新和新的 Gradle API,您应该使用的行是:

implementation 'com.google.android.gms:play-services:12.0.0'

一个更重要的提示:避免使用捆绑版本的 Google Play 服务,但考虑只声明您的应用需要的依赖项以减小其大小,并将不必要的命中减少到 65k 方法限制。类似的东西(即对于地图)这会比上面的一般播放服务使用更好:

implementation 'com.google.android.gms:play-services-maps:12.0.0'

【讨论】:

谢谢 - 这有帮助。我正在尝试执行本教程并遇到此错误,您的解决方案帮助了我:github.com/googledrive/android-demos 我只需要在 gradle 同步之后清理项目,丢失的整数错误就消失了。这也很好用:compile 'com.google.android.gms:play-services-appindexing:7.8.0' 我知道这是一个旧的 Q/A,但人们仍然在偶然发现它,因此将其更新为新的 AS3 和 Gradle API 并强调使用特定库而不是整个包的冲动是有意义的.希望原作者不要介意【参考方案5】:

只需添加库引用,转到Propertes -> Android,然后添加库。

那就加你AndroidManifest.xml

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

【讨论】:

【参考方案6】:

我在 Android Studio 1.2.1.1 中遇到了同样的问题。就像其他答案所说的一样,但是,我无法找到添加依赖项的位置。最后我在File->Project structure->Dependencies下找到了 此菜单将为您提供将依赖项添加到 Google Play 服务库的选项。

【讨论】:

+1 获取有关 AS 1.2 中晦涩导航的帮助。谢谢!在我的情况下,我正在处理从另一个开发人员移交的项目并且从未使用 SDK 管理器实际安装正确版本的播放服务库并没有帮助:$。一旦我下载/安装了库,然后我返回并再次删除/添加,编译错误就消失了。【参考方案7】:

尝试按照本文档中的说明安装 4.0.30:http://developer.android.com/google/play-services/setup.html

【讨论】:

【参考方案8】:

就我而言,我必须从 SDK 管理器安装 google 存储库。

【讨论】:

【参考方案9】:

我遇到了同样的错误;我之前已经为谷歌地图安装了 google-play-services_lib(它工作正常),但是当我后来尝试将元数据条目添加到我的清单时,我得到了错误。我尝试了上述所有建议,但没有任何方法可以正确链接它们;我终于从我的项目中删除了链接(project-properties-Android,删除了google-play-services_lib库),然后从Eclipse工作区中删除,删除了磁盘上的文件,最后使用SDK管理器从头开始重新安装。

这似乎终于成功了;现在 Eclipse 已决定允许我不出错地保留元数据条目。

【讨论】:

我遇到了同样的错误,我的工作区中的 google-play-services 库的副本是旧的(因此不包含整数资源),并且用更新的版本替换库就可以了。 【参考方案10】:

您可以更改工作区,然后修复该问题,然后将已修复的项目导入回您的主工作区。此外,这 4 个步骤应该是为了希望它在未来对某人有所帮助。

【讨论】:

【参考方案11】:

当您下载了新版本的 Google Play 服务但未安装最新的 SDK 时,也会发生此错误。这就是发生在我身上的事。因此,正如其他人提到的,如果您尝试导入 Google Play 服务然后打开控制台,您将看到编译错误。如果是这种情况,请尝试安装所有最新的 Android SDK,然后重试。

【讨论】:

【参考方案12】:

我做了以下步骤来恢复:

1) 将 google play 服务作为项目导入您的 android sdk。在我的系统中,它位于 C:\adt-bundle-windows-x86_64-20140702\sdk\extras\google\google_play_services\libproject\google-play-services_lib

2) 你的 android 应用程序-> 属性 -> android

在窗口中

2.1) 在项目构建目标中点击 Google APIs 2.2)在底部框架添加google-play服务并点击OK

希望它能给出明确的指示!!

谢谢。

【讨论】:

【参考方案13】:

就我而言,我需要将 google-play-services_lib 文件夹复制到我的应用程序源代码的同一驱动器中

F:\Products\Android\APP*.java F:\Products\Android\libs\google-play-services_lib

【讨论】:

【参考方案14】:

只需从项目中删除 google play services 库并从sdk-&gt;extras-&gt;google 文件夹中再次添加即可完美解决我的问题。

【讨论】:

【参考方案15】:

就我而言,我只需重新启动 Eclipse 即可。

我已经工作了 2 周而没有关闭它,我认为它出了问题。

感谢 Ewoks 的建议!

【讨论】:

【参考方案16】:

用适当的库版本代码替换版本代码将解决您的问题,如下所示:

 <integer name="google_play_services_version"> <versioncode> </integer>

【讨论】:

【参考方案17】:

可以直接作为

android:value="6587000"

代替

android:value="@integer/google_play_services_version"

干杯。

【讨论】:

请参阅上面已接受的答案 (***.com/a/20068489/165164),了解为什么这是一个坏主意。【参考方案18】:

您需要将“integers.xml”文件添加到项目的“res/values”文件夹中。文件的内容应该是..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>

【讨论】:

永远不要那样做,它不是动态的。 这完全是错误的做法。请参阅 Ewoks 的回答,***.com/a/20068489/1450294

以上是关于将 Google Play 服务版本添加到您的应用清单?的主要内容,如果未能解决你的问题,请参考以下文章

Google 开发者控制台中的“我们检测到您的应用正在使用旧版本的 Google Play 开发者 API”警告是啥?

将 Play 游戏服务 SDK 添加到您的生产 APK 以使用 API

错误记录Google Play 上架报错 ( 我们检测到您的应用程序包含未经认证的广告SDK或未经批准用于儿童导向服务的SDK )

Android/Google Play:我真的需要我的 OWN 服务器来管理应用内计费订阅吗?

如何将google play服务添加到eclipse

如何将 AppTrackingTransparency 权限添加到您的 iOS 应用程序