引用Google Play服务库

13

我正在使用Google Maps Android API v2开发项目,当我开始引用google-play-services_lib时出现了问题。在我的项目图标上出现了一个红色感叹号,并且在“Problems”选项卡中出现了错误消息(我正在使用Eclipse):

The container 'Android Dependencies' references non existing library 'C:\Users\Labo FMS\Documents\Applications\04-adt-bundle-windows-x86_64\sdk\extras\google\google_play_services\libproject\google-play-services_lib\bin\google-play-services_lib.jar'

实际上,如果我进入那个文件夹,我会发现没有“google-play-services_lib.jar”文件。

我尝试重新安装这个库,但我注意到在安装过程中底部会出现一个错误信息:

[2013-04-09 13:54:32 - google-play-services_lib] Unable to resolve target 'android-8'
[2013-04-09 13:54:32 - google-play-services_lib] Unable to resolve target 'android-8'
[2013-04-09 13:56:18 - MainActivity] Unable to resolve target 'android-8'

有人知道这一切是什么意思吗?


Google Play服务是使用目标API 8构建的。看起来您没有安装Android-8平台。请尝试从SDK管理器安装它,或者更改项目属性中的目标API。 - Vivek Khandelwal
8个回答

22

google-play-services_lib未找到目标 'android-8',因为它未被安装在您的Android SDK中。

将您的Android 目标 'android-8' 更改为其他任何选项。

Your Project--->Right Click-->Properites-->Android-->Select Google API 15(whatever you have)-->ok

或者

在 Android 清单文件中添加此内容。

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

你可以添加任何你想要的目标SDK版本,但它必须是Google API


3
为了更加准确地描述,以防其他人也遇到同样的问题:您需要在 Package Explorer 中打开 google-play-services_lib 文件夹中的 AndroidManifest.xml 文件,并将 <uses-sdk android:minSdkVersion="8"/> 替换为 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>。 - Apoz
1
(或者你正在使用的SDK版本) - Apoz
长远来看,编辑Google库可能不是一个好主意。最好根据此问题的其他答案提供正确的依赖项:https://dev59.com/lWUo5IYBdhLWcg3wnwj2#15902392 - 这解决了两个问题,因为它允许Eclipse创建所需的jar文件。 - ostergaard
正如@user2350653建议的那样,您可能需要在此之后重新启动Eclipse。我需要重新启动才能使更改生效。 - huyz

4
你的第二条信息意味着你没有SDK android-8所需的文件,你需要打开SDK Manager并下载你想要的SDK版本(例如:enter image description here)。之后,你就会拥有所需的jar文件,这样你就可以将它添加到你的Google地图项目中。

1
你的答案是正确的,但是伙计,你得更新你的东西! - Budius
嘿,是的,你说得对。我有一段时间没打开SDK管理器了 : \ - Emil Adz
谢谢您的回答,但是SDK管理器中的所有内容都已经更新了。不过我已经解决了问题,所以没关系^^ - Apoz
可能值得指出的是,您的答案解决了问题中的两个问题。 - ostergaard

4
我的问题得到解决的方法是在SDK管理器中更新了一些包('sdk platform-tools'和'sdk build-tools'从16更新到了17)。 之后,一切都正常了。
我花了将近半天的时间来解决这个问题...... 我意识到这可能对任何人都没有帮助,但为了远程0.1%的机会,这确实可以帮助某些人,所以我决定在这里写出我的答案。
希望这能帮助到某些人 :-)

3

尝试了上面最佳答案,但仍然不起作用。在尝试了所有其他方法并继续在其他地方搜索后都没有好的结果。

最终解决问题的方法是重新启动ECLIPSE并清除缓存(在执行上面最佳答案中的内容之后)。


谢谢,我也需要这样做。 - huyz
这也是我的问题。"你试过关掉它然后再开启吗?" - wizurd

1
在你的清单文件中加入以下内容:

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

1
当我导入项目时,我勾选了“将项目复制到工作区”复选框。这对我很有帮助,但事实上这很奇怪,我们都知道eclipse经常会出问题。顺便说一下,我想在今年圣诞节前拥有一个可用的Eclipse。

1
当我通过Android SDK Manager更新Android SDK组件时,发生了这种情况。 以前,我已经将一些Google库(Google Play服务等)导入到我的Eclipse工作空间,并选择了“将项目复制到工作空间”选项。 升级破坏了这个,因为导入的库版本与主SDK的版本不同。
从Eclipse中删除复制的项目,然后直接从SDK目录重新导入它们,可以解决这个问题。

0

只需做一个项目 -> 清理。这对我有用。祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接