모든,안드로이드 - GPS를 보내는 스크립트 텔넷 세션은
내가 에뮬레이터를 통해 연결된 geo fix long lat altitude
명령의 사용을 통해 에뮬레이터에 가짜 GPS 정보 능력 익숙를 추적합니다.
내가 원하는 것은 잠재적으로 다른 컴퓨터에서 GPS를 수신했다고 생각하여 에뮬레이터를 위조하기 위해 Android 기기로 보내야하는 위도, 경도, 고도를 생성하는 시뮬레이션을 실행하고 싶습니다.
scripting a telnet session에 대한 다양한 솔루션을 참조하십시오. 가장 좋은 방법은 같은 그것은 의사에 보인다 : 그것은 (하지 Windows에서) 맥에서 작동하지만
while true:
if position update generated/received
open subprocess and call "echo 'geo fix lon lat altitude' | nc localhost 5554"
이 큰 해킹처럼 보인다. 이 작업을 수행하는 더 좋은 방법이 있습니까? (나는 트랙을 미리 생성해서 경로로 입력 할 수 없으며, 안드로이드 시스템은 실시간 시뮬레이션의 일부이지만, 에뮬레이터에서 실행될 때 위치 업데이트가 없다. 다른 시스템은 이러한 위치 업데이트를 계산할 책임이있다).
편집 : 대체 방법은 파이썬의 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를 로스팅하는 것 외에는 아무도 신경 쓰지 않는 전화에서 확실히 그렇습니다. –
while 루프에는 업데이트 시간이 설정된 페이싱이 거의 포함되어 있습니다. 콜백, I/O 또는 슬립 메커니즘 차단과 같은 가능성이 있습니다. 궁극적으로 이것은 테스트 시스템에 관한 것이었지만 대화식으로 사용할 수 있거나 배터리로 전원을 공급해야 할 필요는 없었습니다. –