我想在Android模拟器中获得经度和纬度进行测试。
有谁能指导我如何实现这个目标吗?
如何将模拟器的位置设置为测试位置?
我想在Android模拟器中获得经度和纬度进行测试。
有谁能指导我如何实现这个目标吗?
如何将模拟器的位置设置为测试位置?
当前回答
当模拟器在没有谷歌api的情况下运行Android图像时,我无法在模拟器上获得GPS定位。只要我改变图像包含谷歌api,这里提到的所有方法得到GPS固定工作。
在创建AVD时,请确保选择带有谷歌api的图像。
其他回答
请参见获取用户位置
请参阅提供模拟位置数据。你会找到解决方法的。
您可以通过Telnet连接到模拟器。然后你有一个模拟器控制台,允许你输入特定的数据,如地理定位,网络等。
如何使用控制台在这里有详细的解释。 要连接到控制台,打开命令行并键入
telnet localhost 5554
然后,您可以使用geo命令在设备上设置纬度、经度以及(如果需要的话)海拔高度,该设备将通过gps位置提供程序传递给所有程序。请参阅上面的链接以获得进一步的说明。
要在控制台中运行的特定命令为
geo fix <longitude value> <latitude value>
我发现这个网站对于找到一个现实的纬度/lng很有用:http://itouchmap.com/latlong.html
如果您需要多个坐标,您也可以使用带有路由的kml文件,本文对此进行了一些描述。我现在找不到更好的消息来源了。
如果你使用Android Studio (1.3):
点击菜单“工具” “Android” “Android设备监视器” 单击当前模拟器 选项卡“模拟器控制” 进入“位置控制”,输入纬度和高度
在模拟中选择扩展控件。之后,您可以通过搜索或拖动映射到要设置的位置来设置模拟的位置。
最后点击SET LOCATION按钮保存。
把阿尔贝托·高纳的回答写在一行里
token=$(cat ~/.emulator_console_auth_token); cat <(echo -e "auth $token \n geo fix 96.0290791 16.9041016 \n exit") - | nc localhost 5554
5554是adb设备中显示的模拟器端口号。
如果亚行的emu能够发挥作用,情况会更好。