在Android模拟器上运行谷歌地图应用程序

4
我的应用程序使用Google Maps v2。该应用程序在Android设备上成功运行。我尝试在Android模拟器上运行相同的应用程序。我的模拟器目标是Google APIs API Level 18,但问题在于应用程序在模拟器上运行,但地图没有绘制在地图片段上,请参见下面的图片。 enter image description here 在logcat中,我可以看到以下错误。
Google Maps Android API v2 only supports devices with OpenGL ES 2.0 and above

以下是警告信息:
eglSurfaceAttrib not implemented

我已将此功能添加到清单中。
  <uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

有没有人知道如何在模拟器上运行这个简单的应用程序?

提前感谢。


1
我写了一篇关于如何在模拟器设备上运行Google Maps的教程。http://twntee.tumblr.com/post/59576020346/the-maps-api-adding-a-map-to-your-android-project,看看它可能会对你有所帮助。 - Rachit Mishra
重复问题?:在模拟器中无法获取Android API v2的地图 - user456814
6个回答

11

我最终在模拟器中成功显示了地图。我按照以下步骤完成了它。

  1. 创建avd并启动模拟器

  2. 前往Android SDK中的platform tools路径,并将这些apk放入其中。

    • com.android.vending-20130716
    • com.google.android.gms-20130716
  3. 通过使用命令提示符(shift+右键单击-->在此处打开命令窗口)依次安装这些apk。遵循以下命令
    • adb devices
    • adb install com.android.vending-20130716
    • adb install com.google.android.gms-20130716
  4. 导入位于项目位置的google-play-services_lib项目并将其添加到您的项目中。
  5. 重新启动模拟器,清理您的项目并通过模拟器运行它。

就是这样了。 :) 您可以从以下链接下载上述apk文件

在Android模拟器上运行Google Maps v2

输入图片描述


2
在Android 4.4中,现在可以在Android模拟器中运行Google Maps,即使是使用Intel HAXM AVD。不再需要在adb命令上运行任何内容。虽然这需要几个步骤。我创建了一系列有关此主题的视频,如果有帮助的话。我使用JSON feed在4.4模拟器上放置标记。它们每个约有30分钟,因此您可能需要跳到所需内容。前两个视频对于这个问题最相关。我在该系列中还有另外三个涉及JSON和标记的视频...请访问我的YouTube频道以查看这些内容。
1)在Android模拟器中使用Google Maps(通用设置和先决条件) https://www.youtube.com/watch?v=gT-kORiFRTo 2)在Android模拟器中显示地图 https://www.youtube.com/watch?v=0MZIYkm3Ezg 谢谢,祝好运!
Brandan

1

首先确保您有互联网访问权限

并在您的清单中添加以下权限:

<permission
    android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>

<!--

ACCESS_COARSE/FINE_LOCATION权限并不是使用Google Maps Android API v2所必需的,但建议开启。

0

1
根据文档,这是不正确的,它是可用的,请参见此处:“如果您想在模拟器上测试应用程序,请展开Android 4.2.2(API 17)或更高版本的目录,选择Google APIs并进行安装。然后使用Google APIs作为平台目标创建新的AVD。注意:只有Android 4.2.2及更高版本的Google APIs平台包括Google Play服务。”http://developer.android.com/google/play-services/setup.html - Grant
如果它们已经在最近的版本中包含了它,那么上述设置就不需要了。之前是没有这个选项的。请查看我的编辑答案。 - ayon

0

Google 地图无法在模拟器中加载。

您需要在真实设备上安装应用程序。

或者,您可以选择使用 Bluestack 在其中测试您的应用程序。

http://bluestacks.com/


0
要在模拟器中显示Google地图,您可以从Google开发人员控制台使用“浏览器密钥”,而不是Android密钥。这是因为Android密钥是私有的,因此只会在实际设备上显示地图,但是通过在清单文件中使用浏览器密钥,您可以在Android模拟器上运行地图。要创建浏览器密钥,请转到"https://code.google.com/apis/console/",对于网站,留空并点击创建即可。在清单文件中使用生成的密钥,这样就应该显示地图。 我还建议您安装Gene-motion模拟器,在其中下载并安装Google Play服务,然后开始使用。

1
有人能确认“浏览器密钥”这种用法是测试的有效解决方法吗?文档页面上说:“您需要一个Android API密钥,而不是浏览器密钥。” - axd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接