Все,
Я знаком со способностью подделывать информацию GPS в эмуляторе с помощью команды geo fix long lat altitude
при подключении через эмулятор.
Что бы я хотелдля этого нужно запустить симуляцию, потенциально работающую на другом компьютере, для отображения широты и долготы, которые должны быть отправлены на устройство Android, чтобы имитировать эмулятор и думать, что он получил обновление GPS.
Я вижу различные решения для сценариев сеанса telnet ;Похоже, что лучшее решение в псевдокоде:
while true:
if position update generated / received
open subprocess and call "echo 'geo fix lon lat altitude' | nc localhost 5554"
Это похоже на большой взлом, хотя он работает на Mac (не на Windows).Есть лучший способ сделать это?(Я не могу сгенерировать треки заранее и передать их как маршрут; система Android является частью симуляции в реальном времени, но, поскольку она работает на эмуляторе, обновления позиций не выполняются. Другая система отвечает за расчет этих обновлений позиций).
edit: Альтернативный метод, возможно, более чистый, состоит в использовании библиотеки telnetlib из python.
import telnetlib
tn = telnetlib.Telnet("localhost",5554)
while True:
if position update generated / received
tn.write("geo fix longitude latitude altitude\r\n")