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


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 shell는 Last Known Locations심지어 내가 수동으로 GPS를 사용 정보는 항상 비어 있습니다.
— talha06
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.