Parece que hay una manera:
adb shell dumpsys ubicación > dumpsys.txt
Esto le dará un archivo con toda la información del servicio de localización. En este archivo busque 'Last Known Locations'
y deberías 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 tienes el proveedor de GPS activado en el dispositivo.
Siguiendo el código de Android, he intentado averiguar cómo obtienen las aplicaciones la ubicación cuando utilizan 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 memoria en un hashmap y se vuelcan para el comando dumpsys. Esto también explica por qué una búsqueda en la jerarquía de directorios no reveló ningún archivo con información gps.
Si desea esta información en un formato más estándar, tendrá que tomar la ruta de la aplicación e ir con algo como este . Esta aplicación exporta la información a un archivo GPS o KML que puedes introducir en aplicaciones basadas en geolocalización.
PS: Esto funciona en el dispositivo no rooteado igual de bien.