我想在Android模拟器中获得经度和纬度进行测试。

有谁能指导我如何实现这个目标吗?

如何将模拟器的位置设置为测试位置?


当前回答

您可以通过Telnet连接到模拟器。然后你有一个模拟器控制台,允许你输入特定的数据,如地理定位,网络等。

如何使用控制台在这里有详细的解释。 要连接到控制台,打开命令行并键入

telnet localhost 5554

然后,您可以使用geo命令在设备上设置纬度、经度以及(如果需要的话)海拔高度,该设备将通过gps位置提供程序传递给所有程序。请参阅上面的链接以获得进一步的说明。

要在控制台中运行的特定命令为

geo fix <longitude value> <latitude value>

我发现这个网站对于找到一个现实的纬度/lng很有用:http://itouchmap.com/latlong.html

如果您需要多个坐标,您也可以使用带有路由的kml文件,本文对此进行了一些描述。我现在找不到更好的消息来源了。

其他回答

在模拟器控制台中使用"geo"命令

从命令行发送模拟位置数据:

在Android模拟器中启动你的应用程序,在SDK的/tools目录中打开一个终端/控制台。 连接到模拟器控制台: telnet localhost 5555(将5555替换为模拟器正在运行的任何端口) 发送位置数据: * geo fix发送固定的地理位置。 该命令接受以十进制为单位的经度和纬度,以及以米为单位的可选海拔。例如: 地理修正-121.45356 46.51119 4392

首先进入eclipse中的DDMS部分 比打开模拟器控件.... 转到手动部分 设置纬度和长度,然后按发送按钮

对于BlueStack用户:打开模拟器,按Ctrl+Shift +K,然后找到你的位置,并按下设置位置!

The already mentioned multiple times answer to use the shell command "geo fix..." is the correct answer. But in case you use LocationClient.getLastLocation() to retrieve your data it is worth to mention that it will not work at first. The LocationClient class uses the Google Play Service to retrieve the coordinates. For me this started working after running the emulators maps app once. During the first start you are asked to allow google apps access to your location, which I guess does the trick.

我在Android studio 3.5.1上也遇到了同样的问题 当我点击android模拟器右边的三个点并选择位置选项卡时,我没有看到发送选项。我试图设置一个位置点,但这没有改变我的默认库比蒂诺位置。 打开谷歌地图,它会自动定位你和你的库比蒂诺的位置会改变。