在Android emulator上运行Google Maps v2

在Android emulator上运行Google Maps v2,android,android-emulator,avd,android-maps-v2,google-play-services,Android,Android Emulator,Avd,Android Maps V2,Google Play Services,我曾尝试在我的Android应用程序中实现Google Maps v2,但不幸的是,我没有实现地图,而是收到了以下消息: 是否可以在Android emulator(平台4.2)上运行这些地图?您需要在具有Google API版本的模拟器上进行尝试。每个平台有两个版本,Android和Android+Google API。确保在创建AVD时,选择目标字段上的Google API版本 该页面也会很有帮助。目前,参考Google Android Map API v2,您无法在Android emu

我曾尝试在我的Android应用程序中实现Google Maps v2,但不幸的是,我没有实现地图,而是收到了以下消息:


是否可以在Android emulator(平台4.2)上运行这些地图?

您需要在具有Google API版本的模拟器上进行尝试。每个平台有两个版本,Android和Android+Google API。确保在创建AVD时,选择目标字段上的Google API版本


该页面也会很有帮助。

目前,参考Google Android Map API v2,您无法在Android emulator上运行Google Maps v2;您必须使用设备进行测试。

我已使用在模拟器上成功安装了Google Maps v2。
您应该执行以下步骤:

  • 创建一个新的模拟器Nexus S,Android 2.3.3。不要使用谷歌API
  • 安装(谷歌游戏商店,第3.10.9版)
  • 安装(谷歌播放服务,v.2.0.12)
    • 请尝试以下操作

      步骤:

    • 使用此配置创建新的仿真器:

    • 启动模拟器并安装以下文件:
      GoogleLoginService.apk
      GoogleServicesFramework.apk
      ,以及
      Phonesky.apk
      。可以使用以下命令执行此操作:

      adb shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system
      adb shell chmod 777 /system/app
      adb push GoogleLoginService.apk /system/app/
      adb push GoogleServicesFramework.apk /system/app/
      adb push Phonesky.apk /system/app/
      
      APK的链接:

    • 又名谷歌游戏商店,第3.5.16版
    • ,第6.14.1节
    • ,第2.0.10节
    • 在模拟器中安装Google Play服务和Google地图

      adb install com.google.android.apps.maps-1.apk
      adb install com.google.android.gms-2.apk
      
    • 从文件夹
      sdkmanager->extra->Google Play Service
      下载Google Play Service revision 4并将其额外下载到文件夹
      sdkmanager->extra->Google Play Service
    • androidsdk\extras\google\google\u play\u services
      导入
      google-play-services\u lib
    • 创建一个新项目并将上述项目作为库项目引用
    • 运行项目

    • 我能够让我的模拟器运行我的应用程序与谷歌地图V.2(与谷歌播放服务V.4)。我采取了别人建议的步骤,但也有一些失败,但我从中吸取了教训,并以某种方式使其发挥作用。这就是为什么:

    • 首先:你必须对地图应用程序进行编码。在元文件XML中正确设置所有适当的权限,并将Google Play Services APK作为应用程序的一部分。要验证这一点是否属实,您必须在真实设备上运行应用程序,并知道它与地图一起工作。然后,您可以继续处理仿真器,如下所示

    • 创建新的仿真器,或将现有仿真器与规格一起使用:

      • 目标名称=安卓4.1.2
      • API级别=16
      • CPU=任何。然而,我发现ARM比x86更快/响应更快
      • 有足够的RAM内存和空间MB
    • 运行您的模拟器(您的目标模拟器必须正在运行!)

    • 将以下APK(通过dropbox于2013年4月2日提供)下载到您的本地目录(扫描病毒!):

      • ,(谷歌游戏商店,第3.10.9节)

      • ,(谷歌播放服务,第2.0.12版)

    • 使用ADB命令将这两个APK安装到正在运行的(目标)仿真器中:

      DOS/控制台提示符>adb-e安装[APK文件路径]

      注意:可能是在这个试错期间,您已经在模拟器中安装了这些APK,并且由于某些原因需要重新安装。您必须首先通过以下方式卸载它们:adb-e uninstall(com.google.android.gms或com.android.vending)

    • 在这里,事情可能变得棘手。你认为你已经完成了,但是当你再次使用Map打开你的应用程序时,你得到的只是一个错误,它以“Google Play服务过期。需要2012100,但找到2010110”的形式出现,并且可能会看到一个“更新”Google Play的按钮。如果是这种情况,请不要尝试单击“更新”按钮,因为它不会执行任何操作。我也遇到了这个错误,我通过以下两个附加步骤解决了它:

      • 清理重建将我的应用重新安装到模拟器中
      • 关闭模拟器并重新启动它
    • 就这样,它现在工作得很好

    • 我尝试了上述步骤(由Panininutter提供),但收到以下消息:

      Google Play services out of date. Requires 3025100 but found 2012110
      
      我收到此消息是因为我需要上述文件的不同版本。为了解决这个问题,我首先卸载了上面提到的文件,下载了我需要的版本(如以下StackOverflow帖子中所述):


      然后使用“adb-e安装[path to APK file]安装这些文件,然后重新启动模拟器,它工作得非常好!

      我已经在虚拟机上成功运行了我们的应用程序,它需要Google Maps API 2

      AndroVM并没有安装Google地图或Google Play,但提供了Cyanogen Gapps存档的修改副本,这是一套安装在大多数Android设备上的专有Google应用程序

      从AndroVM常见问题解答中复制的说明:

      如何安装谷歌应用程序(包括Market/Play应用程序)?

      • 下载谷歌应用程序:[基本上是从Cyanogen gapps存档中的/system目录,没有在AndroVM上崩溃的谷歌应用程序]
      • 在主机上卸载gapps…tgz文件–将创建一个系统目录
      • 获取AndroVM的管理IP地址(“AndroVM配置”工具)并执行“adb connect x.y.z.t”
      • “亚洲开发银行根”
      • 重新连接“adn连接x.y.z.t”
      • “adb重新安装”吗
      • 执行“adb推送系统//系统/”
      你的虚拟机将重新启动,你应该有包括Market/Play在内的谷歌应用程序

      你不会有一些谷歌应用,比如地图,但它们可以下载 来自市场/游戏

      所以按照这些说明,然后使用谷歌游戏安装谷歌地图

      使用虚拟机而不是仿真器的一些重大副作用:

      • 卓越的总体性能
      • OpenGL加速
      • 谷歌播放支持

      adb -e install com.google.android.gms.apk adb -e install com.android.vending.apk