无法在Android模拟器中模拟位置数据
  我试图测试我的应用程序,该应用程序使用模拟器使用地理位置。  这里描述了几种方法。  我要去Window->Open Perspective->DDMS ,然后输入lat。  和长。  一个在Location Controls ,然后点击“发送”。 

  但它不起作用。  相反,我看到以下错误: Unable to send command to the emulator. 
为什么会发生这种情况!?
我不认为我的应用程序是问题,因为我使用模拟器的默认浏览器进行了测试,并且它也无法访问位置信息。
细节:
  更新:我更改为AVD_for_Galaxy_Nexus_by_Google ,但仍然无效,但我不再看到该错误。  我点击发送并没有任何反应。 
Update2:我测试了使用Telnet将位置数据传递给模拟器,并且再次没有任何反应。 没有错误。 根本不值一提。 Urgh!
telnet localhost 5554
geo fix 50 50
  它以OK响应,但没有任何反应。  仍然没有可用的位置数据。 
Update3:我注意到LogCat中有下列错误
09-20 17:58:59.910: E/eglCodecCommon(1777): glUtilsParamSize: unknow param 0x00000b44
09-20 17:58:59.910: E/eglCodecCommon(1777): glUtilsParamSize: unknow param 0x00000bd0
09-20 17:58:59.930: E/eglCodecCommon(1777): **** ERROR unknown type 0x0 (glSizeof,72)
该应用程序似乎运行良好,这些错误据说在这里解释。
  更新4:我已经看到多个建议以确认我的AVD已启用GPS支持,但此选项/设置不会出现在任何地方。  当我打开“Android虚拟设备管理器”,然后在我的一台设备上点击“编辑”时,这就是我所看到的: 
没有提到“GPS支持”。
  更新5:我检查了我的所有hw.gps=yes的config.ini文件,它们都正确设置为hw.gps=yes 。  我还使用Google API目标创建了AVD,但我仍然遇到同样的问题。  该应用程序加载,但没有位置数据可用,“位置控制”以及远程登录。 
  更新6:遵循以下Gyebro的建议...尝试加载他的LocationDemo应用程序... 
以下是我在LogCat中看到的内容:
  要检查您的模拟器是否支持GPS,请转至~/.android/avd/<emulatorname>.avd/并检查它们应该包含的config.ini和hardware-qemu.ini (如果存在): 
hw.gps =是
  编辑 
  您必须使用Google API系统映像。  您应该将Google APIs - API Level 1#为目标 
 编辑结束
  编辑结束 
假设情况如此,并且您的模拟器中启用了位置,请在您的模拟器中运行此测试应用程序:LocationTest演示,详情请参阅Dev文档获取当前位置
  此示例实现了GooglePlayServicesClient.ConnectionCallbacks , GooglePlayServicesClient.OnConnectionFailedListener和LocationListener 。  并且在与LocationClient连接之前还会检查Google Play服务(这就是为什么我们需要Google模拟器图像的原因。)(请参阅MainActivity.java) 
启动应用程序后,您应该在状态栏中看到位置图标。 还要验证GP服务是否存在并且LocationClient已连接到日志中。

 D/LocationTest﹕ Google Play services is available.
 D/LocationTest﹕ LocationClient: Connected
  使用telnet(应该以OK响应)或使用DDMS的其他有效坐标发送geo fix 66 80后,应该看到: 

 D/LocationTest﹕ Location changed!
如果您仍然失去了这种方法,另一种模拟位置的方法是创建一个模拟位置提供程序应用程序。
你真的应该使用GENYMOTION,它提供了一个GPS功能,你可以在其中设置位置坐标,加上它比默认模拟器更快,并且在几乎每个操作系统中都能正常工作,继承了Docus如何在该页面内部应用GPS功能寻找“ GPS小部件“。 祝你好运。
Heres从那个窗口射了一枪

  我尝试过使用最新的SDK和adb工具,但我发现使用Google地图和基于Web浏览器的位置(maps.google.com)也存在同样的问题。  我使用adb命令行以及telnet方法来设置位置。  还验证了我的.avd文件有hw.gps=yes (默认设置)。  我甚至尝试使用较旧的Google API图像。  我确定也尝试了不同的准确度级别 - 仅设备,高精度等。我注意到很多图形渲染问题和logcat中的一些opengl错误消息,与您所看到的类似。 
我确实使用模拟位置功能让Google地图应用在Android模拟器上工作。 您也可以在真实设备上使用模拟位置,我更喜欢它的性能。 有关如何使用模拟位置的详细信息,请参阅此..下载具有LocationProvider项目的zip文件,该文件可让您模拟不同的位置和移动场景。
所以你可以选择:
  我也使用genymotion获得了成功,您可以通过genymotion自带的命令行genyshell设置任何位置 
 genyshell.exe -c "gps setstatus enabled" genyshell.exe -c "gps setlatitude 30.3077609" genyshell.exe -c "gps setlongitude -97.7534014" 
由于性能原因,设备是优选的。
  更新:我使用gyebro进行了LocationTest演示测试,当我使用telnet设置位置参数时,它工作正常。  所以这个问题似乎与谷歌地图或浏览器,而不是模拟器或adb工具。 
