명령 행에서 위치 좌표를 얻는 방법


10

루팅 된 장치에서 위도 및 경도를 덤프하거나 나열 할 수있는 명령 줄 또는 일련의 명령을 찾고 있습니다.

ADB 쉘을 사용하여 장치에 연결합니다. 좌표가 명령 줄에 기록되는 방법도 나에게 좋습니다.

답변:


11

방법이있는 것 같습니다.

adb 쉘 dumpsys 위치> dumpsys.txt

모든 위치 서비스 정보가 포함 된 파일이 제공됩니다. 이 파일을 검색 'Last Known Locations'하면 다음과 같은 내용이 표시됩니다.

passive: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]

network: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]

물론 장치에서 GPS 공급자를 활성화 한 경우 목록에 다른 항목이 포함됩니다.

안드로이드 코드로 이동하여 앱이 LocationManager.getLastKnownLocation ()을 사용할 때 위치를 얻는 방법을 찾으려고 노력했습니다. 약간의 후, 나는 LocationManagerService 여기 에서 끝났다 . getLastLocation 및 덤프 함수를 구현합니다.

내가 알 수있는 한 좌표는 파일에 저장되지 않습니다. 이들은 해시 맵의 메모리에 저장되며 dumpsys 명령을 위해 덤프됩니다. 또한 디렉토리 계층 구조 검색에서 gps info가 포함 된 파일이 표시되지 않은 이유를 설명합니다.

좀 더 표준 형식으로이 정보를 원한다면, 당신은 응용 프로그램의 경로를 가지고 같은 갈 필요가있을 것이다 . 이 앱은 지리 기반 앱에 피드 할 수있는 GPS 또는 KML 파일로 정보를 내 보냅니다.

추신 : 이것은 뿌리가없는 장치에서도 작동합니다.


1
Windows 사용자의 경우 : adb shell dumpsys location > dumpsys.txt결과를 파일로 출력하십시오.
Andrew T.

나는 감지하려고 GPS 상태 (활성, 수동)를 사용하여 에뮬레이터를 통해 adb shellLast Known Locations심지어 내가 수동으로 GPS를 사용 정보는 항상 비어 있습니다.
talha06
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.