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

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

【问题讨论】:

  • 只需使用来自 Google 的最新 AVD image,其中嵌入了 Google play serveices。检查来自SDK manager的更新

标签: android android-emulator google-play-services google-maps-android-api-2


【解决方案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.apkcom.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 页面上找到全面工作的解决方案之前,我在堆栈中找到了命中。

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

                【讨论】:

                • 我看到“连接到服务器失败错误”
                猜你喜欢
                • 2015-08-14
                • 1970-01-01
                • 2015-08-02
                • 2015-11-13
                • 2014-04-04
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多