我已尝试在我的Android应用程序中实施Google Maps v2,但遗憾的是,我收到此消息而不是地图:
是否可以在Android模拟器(平台4.2)上运行这些地图?
答案 0 :(得分:30)
目前,在引用Google Android Map API v2时,您无法在Android模拟器上运行Google Maps v2;您必须使用设备进行测试。
答案 1 :(得分:25)
对于已更新到最新版本的google-play-services_lib和/或出现此错误Google Play services out of date. Requires 3136100 but found 2012110
的用户,com.google.android.gms.apk (Google Play Services 3.1.36)和com.android.vending.apk (Google Play Store 4.1.6)的新版本应该有效。
在Android SDK Tools 22.0.1上使用此配置进行测试。另一种针对纯Android而非Google的配置也应该有效。
...
在终端/ cmd
中执行此操作adb -e install com.google.android.gms.apk
adb -e install com.android.vending.apk
重新启动AVD
我发现这种方式最简单,最干净,并且与最新版本的软件配合使用,可以让您修复所有错误。
答案 2 :(得分:14)
请尝试以下方法。 It was successfully for me
步骤:
使用此配置创建新的模拟器:
启动模拟器并安装以下APK个文件: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的链接:
在模拟器中安装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-services_lib
。androidsdk\extras\google\google_play_services
答案 3 :(得分:12)
我使用this guide在模拟器上成功安装了Google Maps v2 您应该执行以下步骤:
答案 4 :(得分:4)
我建议使用emulator by Genymotion代替Google的模拟器。它启动速度更快,几乎可以实时响应。它还支持Google Play服务,因此也支持Google地图。
试一试!这是一篇博客文章,可以帮助您设置模拟器。
答案 5 :(得分:2)
我可以让我的模拟器使用Google Map V.2(使用Google Play Service V.4)运行我的应用程序。我遵循了其他人提出的有些失败的步骤,但是我从中学到了它并且以某种方式使它工作。这是如何:
首先:您必须已编码地图应用。正确使用元文件XML中的所有适当权限设置,并将Google Play Services APK作为您应用的一部分。要验证这是真的,您必须在REAL设备上运行您的应用程序并知道它在那里使用它的地图。然后,您可以继续处理您的模拟器,如下所示。
创建一个新的模拟器,或使用带有规范的现有模拟器:
运行模拟器(您的目标模拟器必须正在运行!)
将以下APK(每个4/2/2013通过dropbox提供)下载到您的本地目录(扫描病毒!):
com.android.vending.apk,(Google Play商店,v.3.10.9)
com.google.android.gms.apk,(Google Play服务,v.2.0.12)
使用ADB命令将这两个APK安装到运行(目标)模拟器中:
DOS /控制台提示> adb -e install [path-to-APK-file]
注意:在此次试用错误期间,您可能已在模拟器中安装了这些APK,并且由于某种原因需要重新安装。您必须先卸载它们:adb -e uninstall(com.google.android.gms或com.android.vending)
在这里,事情可能会变得棘手。你认为你已经完成了,但当你再次使用Map打开你的应用程序时,你所得到的只是一个错误,其形式为:“Google Play服务已过期。需要2012100但找到了2010110”,并且可能会看到一个按钮“更新”Google Play。如果是这种情况,请不要尝试单击更新按钮,因为它不会执行任何操作。我也得到了这个错误,我通过以下两个步骤解决了这个问题:
就是这样,它现在很有效。
答案 6 :(得分:2)
Google已更新虚拟设备定位API 23.它现在附带Google Play Services 9.0.80。因此,如果您使用的是Google Maps API V 2.0(我使用的是play-services-maps:9.0.0和play-services-location.9.0.0),则无需解决方法。它只是有效!
答案 7 :(得分:1)
您需要尝试使用Google API版本的模拟器。每个平台都有两个版本,Android和Android + Google API。确保在创建AVD时,在目标字段上选择Google API版本。
页面 Ensure Devices Have the Google Play services APK 也可以提供帮助。
答案 8 :(得分:1)
我已在AndroVM虚拟机上成功运行了需要Google Maps API 2的应用。
AndroVM未附带Google地图或Google Play,但提供了Cyanogen Gapps存档的修改副本,该存档是大多数Android设备上安装的一组专有Google应用。
从AndroVM常见问题解答中复制的说明:
如何安装Google Apps(包括Market / Play应用)?
- 下载Google Apps:gapps-jb-20121011-androvm.tgz [基本上来自Cyanogen gapps档案的/ system目录,没有在AndroVM上崩溃的GoogleTTS应用程序]
- 解压主机上的gapps ... tgz文件 - 您将创建一个系统目录
- 获取AndroVM的管理IP地址(“AndroVM配置”工具)并执行“adb connect x.y.z.t”
- 做“adb root”
- 重新连接“adn connect x.y.z.t”
- 做“adb remount”
- 做“adb push system / / system /”
您的虚拟机将重启,您应该拥有Google应用,包括市场/播放。
您不会拥有某些Google Apps,例如Google地图,但可以下载它们 来自市场/游戏。
请按照这些说明操作,然后使用Google Play安装Google地图!
使用VM而不是模拟器的一些很大的副作用:
到目前为止,道路上唯一的缺点是缺少多点触控手势,对于地图应用来说这是一个无赖!我计划使用隐藏的UI机制解决这个问题,所以不是一个很大的问题。
答案 9 :(得分:0)
我尝试了上面的步骤(通过paniniluncher),但收到了以下消息:
Google Play services out of date. Requires 3025100 but found 2012110
我收到此消息是因为我需要上述文件的不同版本。要解决此问题,我首先卸载了上面引用的文件,下载了我需要的版本(如下面的StackOverflow帖子中所述:
Google Play services out of date. Requires 3025100 but found 2012110
然后使用`adb -e install [path-to-APK-file]安装这些文件,然后重新启动模拟器,它工作得很好!
答案 10 :(得分:0)
我已经在an answer to Stack Overflow question Trouble using Google sign-in button in emulator回复了这个问题。它仅适用于Android 4.2.2,但允许您在AVD中使用“Intel Atom(x86)”。
我认为很容易让它适用于其他版本的Android。只需找到正确的文件。