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


88

我正在学习本教程:https : //developers.google.com/maps/documentation/android/start#overview 关于如何将Google Maps添加到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服务库更新和缺少符号@ integer / google_play_services_version

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


如果Eclipse给您带来麻烦,请尝试执行以下操作:stackoverflow.com/a/19990244/166921
Kamil Szot 2014年

Answers:


100

:S可能是您的库未正确链接到项目,或者您的Google Play服务库版本较旧,所以出现了冲突,Eclipse也变得很愚蠢。

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

如果在下一个播放版本到来时对该编号进行硬编码,则需要对其进行更新。而且,如果您忘记了这一点,则将花费时间再次查找错误。.:S

希望能有所帮助。;)


1
是的,在android studio上,我已经将Google Play服务添加为模块(而不是库),但是我忘记将此模块添加到清单文件所在的项目模块中。这解决了问题:)
Ragaisis

18
谢谢,这解决了我的问题。有关在Eclipse / ADT中引用库项目的防傻瓜循序渐进指南,请参阅Google工具文档。我显然是个白痴,因为我试图将库添加到“ Java Build Path:Libraries”下-没用。
杰夫罗

对不起,我的答复很晚,但是,是的,这是问题所在,该库未正确链接到我的项目!
Adz 2014年

1
如何为蚂蚁做那件事?
Dzmitry Lazerka'3

2
如果有帮助,我不得不在Android Studio中采取一些其他步骤。转到:项目结构->应用程序->依赖关系->单击+以添加库的选项->播放服务(xxx)。重建时出现错误,添加的库为play-services ... 0.0。我在“附加功能”下的SDK管理器中找不到Google Play存储库。当我返回并重复这些步骤时,该库现在具有实际的版本号并已成功重建。
natur3 2014年

36

我找到了解决方案。

  • 第1步:在Package Explorer上右键单击您的项目(Eclipse左侧)
  • 第2步:转到Android。
  • 步骤3:在[资料库]部分的[新增资料库...(google-play-services_lib)]中,
    请参阅以下内容

    • 将库项目复制到

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

    • 到您维护Android应用项目的位置。如果使用的是Eclipse,则将库项目导入到工作区中。单击文件>导入,选择Android>现有Android代码到Workspace,然后浏览到库项目的副本以将其导入。
    • 单击此处了解更多。
  • 步骤4:按一下[套用]
  • 步骤5:按一下[确定]
  • 步骤6:从套件资源管理器刷新应用。
  • 步骤7:您将看到错误消失了。

30

这里

您应该引用复制到开发工作区的库的副本,而不应直接从Android SDK目录中引用库。

我遇到此错误是因为我从SDK目录引用了原始副本。确保首先将库复制到android工作区,然后仅引用它。在eclipse中,您可以通过在导入项目时选中“将项目复制到工作区中”来实现。


3
aiaiai,由于未勾选此框而浪费了时间...很高兴我找到了这个答案!在Google文档中应更清楚。
Marius Hilarious

那就是我的问题,所有内容
均以

此修复程序也对我有用。但是想知道技术上的区别是什么?
sivag1 2014年

Google应该在此处更新屏幕截图/说明:developers.google.com
getting-started

22

在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方法限制。像(例如Maps)之类的东西比上面的常规播放服务用法要好:

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

谢谢-这有所帮助。我正在尝试完成本教程,遇到了此错误,您的解决方案对我有所
Simon

1
在gradle同步之后,我只需要清理项目,然后丢失的整数错误就消失了。这也很好:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
某处某人某人

2
我知道这是一个旧的Q / A,但人们仍然对此it之以鼻,因此有必要将其更新为新的AS3和Gradle API,并强调敦促使用特定库而不是整个软件包。我希望原作者不介意
Ewoks

7

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

在此处输入图片说明

然后加入你 AndroidManifest.xml

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

3

我在Android Studio 1.2.1.1中遇到了相同的问题。其他答案只说了一点,但是,我找不到在哪里添加依赖项。最后,我在“ 文件”->“项目结构”->“依赖项”下找到了它。 此菜单将为您提供将依赖项添加到Google Play服务库的选项。


+1获取有关AS 1.2中晦涩的导航的帮助。谢谢!就我而言,这是没有帮助的,我正在研究从另一个开发人员移交来的项目,却从未真正使用SDK Manager:$安装正确版本的播放服务库。下载/安装库后,我又返回并再次删除/添加了库,编译错误消失了。
Anne Gunn


2

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


1

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

似乎终于成功了。现在Eclipse决定允许我不带任何错误地保留元数据条目。


我遇到了同样的错误,我的工作区中的google-play-services lib的副本很旧(因此不包含整数资源),而用更新的版本替换该lib可以解决问题。
比安卡·丹尼库克

0

您可以更改工作空间,然后解决该问题,然后将已修复的项目导入回您的主工作空间。同样,这四个步骤应该是希望它对将来的人有所帮助。


0

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


0

我做了以下步骤从中恢复:

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 API 2.2)在底部框架中添加google-play服务,然后单击确定

希望它对如何做给出明确的指示!

谢谢。


0

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

  • F:\ Products \ Android \ APP * .java <-我的应用程序在这里,所以我复制到下面的文件夹
  • F:\ Products \ Android \ libs \ google-play-services_lib

0

只需从项目中删除Google Play服务库,然后再从sdk->extras->google文件夹中再次添加,即可完美解决我的问题。


0

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

我已经工作了2个星期而没有关闭它,我认为这很麻烦。

谢谢Ewoks的建议!


0

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

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.