所有,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