我想在Android模拟器中获得经度和纬度进行测试。
有谁能指导我如何实现这个目标吗?
如何将模拟器的位置设置为测试位置?
我想在Android模拟器中获得经度和纬度进行测试。
有谁能指导我如何实现这个目标吗?
如何将模拟器的位置设置为测试位置?
当前回答
1. Android Studio用户。
运行模拟器后进入Tools->Android->Android设备监视器
从位置控件组中单击“模拟器控件”选项卡更改。
2. Eclipse用户。
首先在Eclipse菜单中选择“窗口”,然后选择“打开透视图”,然后选择“DDMS”。 即窗口->打开透视->DDMS。
你会看到左边设备面板和右边你会看到不同的选项卡。 选择“模拟器控制”选项卡。
在底部你会看到位置控制面板。 选择“手动”选项卡。
在文本框中输入经度和纬度,然后单击发送按钮。 它会将位置发送给模拟器和应用程序。
3.使用telnet。
在run命令中键入this。
telnet localhost 5554
如果您不使用windows,您可以使用任何telnet客户端。
连接到telnet后,使用以下命令将您的位置发送到模拟器。
geo fix long lat
geo fix -121.45356 46.51119 4392
4. 使用基于浏览器的谷歌地图工具
有一个程序使用GWT和谷歌Maps API来启动一个基于浏览器的地图工具来设置模拟器中的GPS位置:
android-gps-emulator
其他回答
我已经做了一个类似于前面的答案之一的小脚本,但使用expect而不是python -因为它更简单一点(expect是为此而发明的)。
#!/usr/bin/expect
set port [lindex $argv 0]
set lon [lindex $argv 1]
set lat [lindex $argv 2]
set timeout 1
spawn telnet localhost $port
expect_after eof { exit 0 }
## interact
expect OK
set fp [open "~/.emulator_console_auth_token" r]
if {[gets $fp line] != -1} {
send "auth $line\r"
}
send "geo fix $lon $lat\r"
expect OK
send "exit\r"
示例用法:sendloc 5554 2.35607 48.8263
在Mac、Linux或Cygwin系统下:
echo 'geo fix -99.133333 19.43333 2202' | nc localhost 5554
这样你就能到墨西哥城了。相应地改变你的经度/纬度/高度。如果你对nmea不感兴趣,这应该足够了。
下面的解决方案对我有用——打开命令行,然后写:
adb emu geo fix [longtitude] [latitude]
如果上述解决方案不奏效。试试这个:
在你的android manifest .xml中,在应用程序标记之外添加以下两个链接,当然是在你的manifest标记中
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>
<uses-permission android:name="android.permission.INTERNET" ></uses-permission>
对于BlueStack用户:打开模拟器,按Ctrl+Shift +K,然后找到你的位置,并按下设置位置!