Una forma de obtener coordenadas de ubicación desde la línea de comando

10

Estoy buscando una línea de comando o una serie de comandos que puedan volcar o enumerar la latitud y la longitud en un dispositivo rooteado.

Me conecto a un dispositivo usando ADB shell. Una forma que hará que las coordenadas se registren en la línea de comando también es bueno para mí.

Erb
fuente

Respuestas:

11

Parece que hay una manera:

adb shell ubicación dumpsys> dumpsys.txt

Esto le dará un archivo con toda la información del servicio de ubicación. En este archivo, busque 'Last Known Locations'y debería ver algo como:

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}]}]

Por supuesto, la lista incluirá otra entrada si tiene el proveedor de GPS habilitado en el dispositivo.

A partir del código de Android, traté de descubrir cómo las aplicaciones obtienen la ubicación cuando usan LocationManager.getLastKnownLocation (). Después de un poco de seguimiento, terminé en LocationManagerService aquí . que implementa getLastLocation y también una función de volcado.

Las coordenadas no se almacenan en ningún archivo por lo que puedo decir. Se almacenan en la memoria en un hashmap y se vuelcan para el comando dumpsys. Esto también explica por qué una búsqueda de jerarquía de directorio no reveló ningún archivo con información gps.

Si desea esta información en un formato más estándar, deberá tomar la ruta de la aplicación e ir con algo como esto . Esta aplicación exporta la información en un archivo GPS o KML que puede alimentar a aplicaciones basadas en geo.

PD: Esto también funciona en dispositivos no rooteados.

Rohan
fuente
1
Para usuarios de Windows: adb shell dumpsys location > dumpsys.txtpara generar el resultado en el archivo.
Andrew T.
Intento detectar el estado del GPS (activo, pasivo) a través del emulador usando adb shell, la Last Known Locationsinformación siempre está vacía, incluso habilito manualmente el GPS.
talha06