如何将 Google Play 服务添加到我的 Eclipse ADT 项目

Posted

技术标签:

【中文标题】如何将 Google Play 服务添加到我的 Eclipse ADT 项目【英文标题】:How to add Google Play services to my Eclipse ADT project 【发布时间】:2017-08-16 05:02:56 【问题描述】:

这是我要修复的错误:

描述:错误:错误:找不到与给定名称匹配的资源(在“值”处,值为“@integer/google_play_services_version”)。 资源: androidManifest.xml 位置: 第 75 行 类型: Android AAPT 问题

我正在尝试实施我在https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project 看到的解决方案,在“其他”标签的“将 Google Play 服务添加到您的项目”下。我已经在我的 app/build.grandle 文件的依赖项 部分中使用以下行修复了 Android Studio 中的此错误:

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

但是,对于特殊情况,我这次需要在 Eclipse ADT 中实现相同的修复。使用 Eclipse Android SDK Manager,我已经安装了 Google Play 服务,修订版 39:

我可以确认它已安装在我的计算机上的 C:\Users\jaimemontoya\android-sdks\extras\google\google_play_services:

在https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project 的说明中,它说:“将 /extras/google/google_play_services/libproject/google-play-services_lib/ 中的库项目复制到您维护 Android 应用项目的位置。”

如上图所示,我的 Google Play 服务修订版 39 安装中没有 /extras/google/google_play_services/libproject/google-play-services_lib/ 文件夹。有什么想法吗?

【问题讨论】:

Google 不久前停止支持 ADT。其中一部分不再将 Play Services 作为常规库项目提供(而且我不确定它是否会起作用)。我不知道在 Eclipse+ADT 中使用 Play Services 或其他任意库的可靠当前方法。我鼓励您重新审视“特殊情况”并将此项目迁移到当前维护的构建系统(例如 Gradle)。 通过“将此项目迁移到当前维护的构建系统(例如 Gradle)”,您是指 Android Studio,还是带有 Grandle 构建系统的 Eclipse?我已经在 Android Studio 中修复了这个错误,但正如我所提到的,对于特殊情况,我现在需要在 Eclipse 中实现相同的修复。 不知道有没有稳定的Eclipse环境支持Gradle和Android Plugin for Gradle。 Eclipse 的 Andmore 倡议最终应该会填补这个空白,但我不知道它的状态。此外,可能有 Eclipse 配方使用 Maven 作为可以容纳 AAR 的构建系统。 【参考方案1】:

我实现了 Andrew S 在Missing "<sdk>/extras/google/google_play_services/libproject" folder after update to revision 30 提供的解决方案。首先,我下载了https://dl-ssl.google.com/android/repository/google_play_services_8298000_r28.zip。这意味着我没有使用 Google Play 服务,即我尝试使用的版本 39,而是使用了较旧的版本 28。

我提取文件并将其放在 C:\Users\jaimemontoya\android-sdks\extras\google\google-play-services:

从 Eclipse 我使用 File > Import... > Android > Existing Android Code Into Workspace > 根目录:C:\Users\jaimemontoya\android-sdks\extras\google\google-play-services\libproject\google- play-services_lib

我确认一切看起来都是正确的:

要导入的项目:C:\Users\jaimemontoya\android-sdks\extras\google\google-play-services\libproject\google-play-services_lib 新项目名称:google-play-services_lib

然后从 Eclipse 包资源管理器中,我右键单击我的项目,转到属性,然后单击 Android,最后向下滚动后,我使用“添加...”按钮添加 google-play-services_lib 库。它将显示为添加的库之一:

这个错误现在已经为我解决了:

【讨论】:

有据可查的答案。尽管确实不推荐使用 ADT,但这个答案肯定有效。 为我工作,但有一个警告:我必须在库项目下创建一个 .project 文件,以便“导入现有代码”将其识别为项目。【参考方案2】:

您还可以在 Eclipse ADT 中使用最新版本的 GPS。通过 SDK 管理器从 Studio 下载 68 版 Google 存储库,导航到 $ANDROID_SDK_ROOT/extras/google/m2repository/com/google/android/gms。对于需要的每项服务,转到子目录#PLAY_SERVICE_NEEDED#/$VERSION 并提取包含的 AAR 文件(这只是一个 zip 文件)。在 AAR 中,您会找到 classes.jar、清单和 res(sources),您可以从中创建与 ADT 兼容的库项目。

【讨论】:

以上是关于如何将 Google Play 服务添加到我的 Eclipse ADT 项目的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 游戏服务 - 无法登录游戏中心

为啥包含 Google Play 服务库时权限会自动添加到我的 AndroidManifest

无法将Google Play位置服务添加为我的Android项目的依赖项

应用程序配置错误 Google Play 游戏服务

带有 Unity 的 Google Play 服务 - 登录没有任何结果

如何将google play服务添加到eclipse