所有的,
我熟悉通过仿真器连接时使用geo fix long lat altitude
命令向仿真器伪造gps信息的能力。
我想做的是在一台可能不同的计算机上运行一个模拟程序,产生纬度、经度和高度,应该发送到android设备上,让仿真器以为它收到了gps更新。
我看到了scripting a telnet session的各种解决方案;似乎最好的解决方案是,在伪代码中:
while true:
if position update generated / received
open subprocess and call "echo 'geo fix lon lat altitude' | nc localhost 5554"
这看起来像一个大黑客,虽然它在Mac上工作(不是在Windows上)。有更好的办法吗?(我无法提前生成轨迹并将其作为路径输入;android系统是实时模拟的一部分,但由于它在模拟器上运行,因此没有位置更新。另一个系统负责计算这些位置更新)。
编辑:
另一种方法,也许更干净,是使用python的telnetlib库。
import telnetlib
tn = telnetlib.Telnet("localhost",5554)
while True:
if position update generated / received
tn.write("geo fix longitude latitude altitude\r\n")
最佳答案
也许这和你要找的很接近
https://github.com/xperimental/fakegps