如何在 Android 模拟器中下载 Google Play 服务?

Posted

技术标签:

【中文标题】如何在 Android 模拟器中下载 Google Play 服务?【英文标题】:How to download Google Play Services in an Android emulator? 【发布时间】:2013-01-10 06:57:22 【问题描述】:

我想在我的应用程序中使用 Google Play 服务 API,但是当我打开模拟器测试我的应用程序时,它会向我发送一条消息,提示“必须下载 Google Play 服务”。我知道会发生这种情况,因为我在 MainActivity 的方法 onResume() 中编写了这个测试。 我想知道如何在我的模拟器中安装 Google Play 服务,因为很快我需要测试我的地图。

【问题讨论】:

只需使用来自 Google 的最新 AVD image,其中嵌入了 Google play serveices。检查来自SDK manager的更新 【参考方案1】:

查看Setting Up Google Play Services,上面写着:

要使用Google Play services APIs 开发应用,您需要使用 Google Play 服务 SDK 设置您的项目。

如果您尚未安装 Google Play 服务 SDK,请立即按照 Adding SDK Packages 的指南获取它。

要在使用 Google Play 服务 SDK 时测试您的应用,您必须使用:

运行 android 2.3 或更高版本并包含 Google Play 商店的兼容 Android 设备。 带有AVD 的 Android 模拟器运行基于 Android 4.2.2 或更高版本的 Google API 平台。

【讨论】:

有更新,开发者网站引用:“带有 AVD 的 Android 模拟器,运行基于 Android 4.2.2 或更高版本的 Google API 平台。” 我尝试使用Android API(4.3版)但没有成功,所以关键是使用Google API(4.3版)。由于它们是相同的版本号,所以我一开始并没有意识到为什么它没有运行。 我正在使用 Google APIS 版本。 22 与英特尔 x86_64。不工作。 这里重要的是@Skitterm 写的。 AVD 必须将 Google API 作为目标。有趣的是,选择低于 23 (Marshmallow) 的 API 目标会导致设备尝试更新 Google Play 服务,这对我来说总是失败。 有没有人让这个工作?使用带有 Google API 的 Android 图像似乎不适用于 Google Play。【参考方案2】:

对于 api 21+,您可以将系统映像与 Google Play 一起使用,如下所述。

对于 api 19+ (Android 4.4 Kitkat),您可以将系统映像 x86 与 Google Api 一起使用(我能够使用它)。

对于 api 17+(Android 4.2.2),您可以尝试将系统映像 ARM 与 Google Api 一起使用(它对我不起作用)。

我能够将 Google Play 和 Google 服务作为单独的 apk 安装到纯系统映像 api 16 和 17,但之后它们就无法正常工作(服务粉碎和播放无法打开)。所以似乎不可能让它们在纯 AVD 映像上工作,因为它们应该以 root 访问权限安装。在预装了 Google API 的 AVD 系统映像上更新 Google 服务也是如此 - 由于证书不兼容而无法更新,即使使用 adb 也无法卸载,因为无权访问。


如何使用 Google Play 设置 AVD 系统映像

现在有更好的解决方案:使用带有内置 Google Play 服务的 AVD 图像。它将使您能够使用包括 Google Play 在内的 Google 服务。此外,您无需重新创建 AVD 图像即可对其进行更新。

打开 AVD 管理器并选择创建新设备。您应该使用带有 Play 商店图标的设备定义。

然后为其选择系统映像。您应该选择一个使用 Google PlayNOT 使用 Google API。

然后启动新设备。

您可以更新播放服务,如屏幕截图所示,或在设备上手动更新..

【讨论】:

应该使用哪个 android studio 版本来获得此选项? @ronenmiller 我使用的是最后一个稳定版本,现在是 2.3.3。但它不应该依赖于 Android Studio 版本。这取决于 Android 系统映像版本,也可能取决于 Android 虚拟设备管理器的版本,但我不确定最后一个。我只是总是将所有内容更新到最新的稳定版本。 在 3.1.3 上不可用 @Emaborsa 你选择了 Google Play 还是 Google API 的图片?我现在使用的是 Android Studio 3.1.4,一切正常。 @B-GangsteR 是的,我做到了【参考方案3】:

这就是让 Android Google Maps API v2 在您的模拟器上运行的方法。


创建一个新的模拟器

对于设备选择“5.1'' WVGA (480 x 800: mdpi)” 目标选择“Android 4.1.2 - API level 16” 对于“CPU/ABI”选择“ARM” 保留默认设置

这些是对我有用的设置。我不知道不同的。


启动模拟器


通过 ADB 安装命令安装 com.android.vending-1.apk 和 com.google.android.gms-1.apk


更长的答案在我关于这个问题的博文https://medium.com/nemanja-kovacevic/how-to-make-android-google-maps-v2-work-in-android-emulator-e384f5423723

【讨论】:

我知道这是旧的但Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 我做过:Android Studio (2.2.3);工具 -> Android -> AVD 管理器;创建虚拟设备...; 5.1" WVGA,下一个;Nougat (7.1.1),下一个;完成。生成的模拟器没有 Google Play 商店图标。 如果您的兴趣与架构无关,我更喜欢使用主机的 GPU 在 x86-x84 CPU/ABI 上模拟我的项目。仿真在响应能力方面完全不同。 链接已损坏 嗨 Alberto,从这个答案开始,5 年内情况发生了变化,所以这可能无法解决您的问题。【参考方案4】:

我遇到了另一种在模拟器上使用 Google Play 服务的解决方案。 http://www.genymotion.com/ 的人提供了非常快速的模拟器,您可以在上面安装 Google Play 服务。他们只需要您注册即可开始下载,并且您需要安装 Virtual box。目前他们支持 Android 16 和 17,但更多的正在开发中。

【讨论】:

他们曾经这样做过,直到 Google 告诉他们停止提供比 Google 以往任何时候都更好的服务,并强迫他们从图片中删除 Play 商店。 说哦!,去创建一个新的模拟器来测试我现有的 genymotion 应用程序上的平板电脑,阅读你的评论并讨厌我不认识的人。 genymotion 是一个很棒的模拟器,但它现在似乎不适用于地图:(【参考方案5】:

在当前版本 (Android Studio 0.5.2) 中,现在有“Google APIs x86 (Google Inc.) - API Level 19”的设备类型。

【讨论】:

【参考方案6】:

关键是选择你的模拟器的目标,例如:Google APIs (ver 18)。 例如,如果您选择仅 Jellybean 18(无 API),您将无法测试需要 Google 服务(例如地图)的应用程序。 请记住,您必须先使用 Android SDK 管理器下载您喜欢的版本的 Google API。

这是一个很好的做法,它比同时使用大多数解决方法要好得多。

【讨论】:

【参考方案7】:

我最近尝试开发 google MAP API V2 应用程序并尝试通过模拟器运行它,但每次它都显示错误“此手机中未安装 Google Play 服务”。 从我的角度来看,即使我认为 google MAP API V2 在模拟器上也不起作用。

解决方案

然后我尝试在我的 Sony Experia 上运行相同的示例,但它再次显示相同的错误。 然后我在我的手机上安装了谷歌播放服务,令人惊讶的是它开始工作了..:)))

【讨论】:

【参考方案8】:

我得到了它的工作

通过 Android SDK 管理器安装 Google Play 服务 使用 Galaxy Nexus 设备(4.65 英寸,720 x 1280:xhdpi) 针对 Android 4.2.2 Google API 级别 17

【讨论】:

【参考方案9】:

转到https://university.xamarin.com/resources/working-with-android-emulators。 向下滚动到“安装 Google Play 服务”部分。一步一步走过那里。

这里直接从 xamarin 剽窃,所以我不会因为链接而不包括解决方案而受到抨击。在我在 xamarin 页面上找到全面工作的解决方案之前,我在堆栈中找到了命中。

    启动 Xamarin Android Player 并运行提供的图像之一,以下假设您已启动 KitKat Nexus 4 图像。 从 www.teamandroid.com/gapps/ 下载适当的 Google Play 服务 .zip 文件。请务必下载适合您的 Android 版本的图片。 将 .zip 文件拖到正在运行的模拟器上并放下它以安装组件,这里我们在 Mac OS X 上展示它,但在 Windows 中使用相同的机制。您将收到将软件包安装到模拟器上的提示,这表明映像将重新启动 一旦重新启动,您将收到安装完成的通知,并且该图像现在将具有 Google 地图、Google+ 和对 Google Play 商店的支持。请注意,有些事情无法正常工作,并且您可能会从某些服务中收到一些错误,但您可以放心地忽略这些并继续说明。 接下来,您需要关联一个 Google 帐户,以便您可以使用 Google Play 商店更新服务。它应该会提示您这样做,但如果没有,您可以进入 Google 设置并添加一个新帐户。 添加帐户后,您可以通过打开 Google Play 商店应用程序并从侧栏菜单进入设置来更新 Google 应用程序。 选择设置,然后向下滚动到内部版本号信息并双击它,直到它告诉您它是最新的,或者它将下载并安装新版本。 关闭设备电源(按住右侧工具栏中的电源按钮)并重新启动。重启后,应提示需要更新 Google Play 服务,点击通知将打开 Google Play 商店并安装最新版本

现在您可以在 Xamarin Android 播放器中运行依赖于 Google 地图的应用程序。

【讨论】:

【参考方案10】:

如果您已安装 Android Studio(即 1.5)并尝试以 SDK 4.0 为目标,那么您可能无法使用 SDK-vX.XX(使用 Google API 的)。

请参阅以下步骤以下载所需的库并开始。 AVD Emulator setup -setting up Emulator for SDK4.0 with GoogleAPI so Map application can work- In Android Studio

但不幸的是,上述方法对我来说效果不佳。并且无法使用 API 级别 17 (SDK 4.2) 创建模拟器。所以我关注了这篇对我来说效果很好的帖子。原因似乎是 Android Studio Emulator 创建窗口的选项/功能有限。

Google Play Services in emulator, implementing Google Plus login button etc

【讨论】:

【参考方案11】:

我知道这是一个老问题,但我来到这里是因为我遇到了与上述每个人类似的问题。我通过仔细阅读解决了它!

我没有注意到我可以选择 2 个可能的系统映像,一个包含 Google API,一个不包含(在我的笔记本电脑上,菜单太小,我无法阅读(使用 Google API)文本)附加。

错过这是一件愚蠢的事情,但其他人可能像我一样拥有一个小屏幕,并且错过了这个:D

【讨论】:

【参考方案12】:

如果你的模拟器 x86 这个方法对你有用。

下载并安装http://opengapps.org/app/opengapps-app-v16.apk。并选择纳米包

更多信息http://opengapps.org/app/

【讨论】:

我看到“连接到服务器失败错误”

以上是关于如何在 Android 模拟器中下载 Google Play 服务?的主要内容,如果未能解决你的问题,请参考以下文章

在模拟器中更新 Google Play 服务

android emulator 安装 google play

android emulator 安装 google play

Android 模拟器下载编译及调试

Android 模拟器下载编译及调试

如何在Android模拟器中安装Google Fit应用?