所有,Android的 - 用于发送GPS脚本telnet会话跟踪
我所熟悉的通过使用时通过仿真器连接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")
Netcat对于这样的事情来说非常棒 - 除了while(true)循环正在烘烤CPU之外 - 确实在手机上没有人会关心,但仍然如此。 – 2012-12-31 10:18:35
while循环几乎可以肯定地包含更新的定时调步,很可能是用回调完成的,阻塞了I/O或者睡眠机制。尽管最终这是关于测试系统,而不是需要交互式使用或电池供电的系统。 – 2012-12-31 15:20:33