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


请查看设置Google Play服务,其中显示:

To develop an app using the Google Play services APIs, you need to set up your project with the Google Play services SDK.

If you haven't installed the Google Play services SDK yet, go get it now by following the guide to Adding SDK Packages.

To test your app when using the Google Play services SDK, you must use either:

  • A compatible Android device that runs Android 2.3 or higher and includes Google Play Store.
  • The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2 or higher.

对于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 Services作为单独的apk安装到纯系统映像API 16和17中,但在此之后它们实际上并不能正常工作(服务崩溃并无法打开)。因此,似乎不可能使它们在纯AVD映像上工作,因为应该使用root访问权限安装它们。在预装了Google API的AVD系统映像上更新Google Services的方法相同-由于证书不兼容而无法更新,即使使用adb也无法卸载,因为没有访问权限。

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

现在,存在更好的解决方案:将AVD图像与内置的Google Play服务结合使用。它将使您能够使用包括Google Play在内的Google服务。另外,您无需重新创建AVD图像就可以对其进行更新。

打开AVD管理器,然后选择创建新设备。您应该将设备定义与播放商店图标一起使用。

然后为其选择系统映像。您应该选择使用Google Play而不是使用Google API。

然后启动新设备。

您可以按屏幕截图所示更新Play服务,也可以在设备上手动更新。


通过这种方式,您可以在模拟器上使用Android Google Maps API v2。

创建一个新的模拟器

  • 对于设备,请选择" 5.1" WVGA(480 x 800:mdpi)"
  • 对于目标,请选择" Android 4.1.2-API级别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


我遇到了另一种在模拟器上使用Google Play服务的解决方案。 http://www.genymotion.com/上的人提供了非常快速的模拟器,您可以在其上安装Google Play服务。他们只需要您注册即可开始下载,并且您需要安装虚拟盒。目前,它们可满足Android 16和17的需求,但还有更多。


关键是选择仿真器的目标,例如:Google API(版本18)。
例如,如果您仅选择Jellybean 18(不带API),则将无法测试需要Google服务(例如地图)的应用。
请记住,您必须首先使用Android SDK Manager下载您喜欢的版本的Google API。

这是一个很好的做法,它比处理大多数变通办法要好得多。


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


转到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 Maps,Google +和对Google Play商店的支持。请注意,有些事情无法正常运行,您可能会从某些服务中得到一些错误,但是您可以放心地将其关闭,然后继续进行操作。
  • 接下来,您需要关联一个Google帐户,以便您可以使用Google Play商店更新服务。它会提示您此操作,但如果没有,则可以进入Google设置并添加一个新帐户。
    添加帐户后,您可以通过打开Goog??le Play商店应用并从侧边栏菜单进入设置来更新Google应用。
  • 选择设置,然后向下滚动至构建版本号信息,然后双击该信息,直到它告知您它是最新版本,或者它将下载并安装新版本。
  • 关闭设备电源(按住右侧工具栏中的电源按钮并重新启动)。重新启动后,它应表明它需要更新Google Play服务,点击通知将打开Goog??le Play商店并安装最新版本
  • 现在,您可以在Xamarin Android Player中运行依赖于Google Maps的应用程序。


    我得到它的工作

    • 通过Android SDK Manager安装Google Play服务
    • 使用Galaxy Nexus设备(4.65英寸,720 x 1280:xhdpi)
    • 定位到Android 4.2.2 Google API级别17

    我最近尝试开发Google MAP API V2应用程序,并尝试通过模拟器运行它,但每次显示错误"此手机未安装Google Play Servcies"时,我都会遇到错误。
    从我的角度来看,我甚至认为Google MAP API V2在模拟器上不起作用。

    然后,我尝试在您的Sony Experia上运行相同的示例,并再次显示相同的错误。
    然后,我在自己的手机上安装了Google Play服务,令人惊讶的是它开始工作了。


    如果您的仿真器是x86,则此方法对您有效。

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

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


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

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

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


    要获得最新的设置和信息(如果您已安装Android Studio(即1.5)并尝试定位到SDK 4.0),则可能无法使用SDK-vX.XX(带有Google API)来定位和设置和AVD Emulator。

    请参阅以下步骤,以下载所需的库并以此开始。
    AVD模拟器设置-使用GoogleAPI设置SDK4.0的模拟器,以便Map应用程序可以工作-在Android Studio中

    但不幸的是,上述方法对我而言效果不佳。并且无法使用API??级别17(SDK 4.2)创建仿真器。因此,我关注了这篇在我这方面表现很好的帖子。原因似乎是Android Studio模拟器创建窗口的选项/功能有限。

    模拟器中的Google Play服务,实现了Google Plus登录按钮等