我有兴趣“查看”已 root 的 Android 设备的 GPS 或位置历史原始数据。我查看了
/data/gps/log/
文件夹,它有有趣的命名文件,但它们似乎是空的......
哪个或哪些文件包含此“原始 GPS 数据”?这些文件是否存在?
我遇到了另一篇post,其中讨论了
cache.wifi
和cache.cell
文件,我无法使用RootBrowser或TerminalEmulator中的命令find / -name "cache.cell"
找到这些文件。
谢谢
原来原始 GPS 数据不在手机本身,而是在调制解调器中! (...或者可能更难获取:它在网络中!)
调制解调器通常是具有封闭固件的完整 GNU/Linux 系统。尽管这种封闭性违反了 GPL,但事实证明,访问调制解调器固件的源代码非常困难。为数不多的正面例子之一是 Pine64 制造的 Pinephone 调制解调器背后的故事。幕后有 3GPP 联盟。其中一些成员是谷歌和高通。
如果您设法与调制解调器通话,则可以提取 GPS 信息。有时串行控制台会有所帮助,这完全取决于调制解调器如何连接到主 CPU 以及您如何与主系统(Android、iOS、Windows...)交互。
我将此用作特定 WWAN 调制解调器的参考:
https://wiki.mobian-project.org/doku.php?id=location
它是在 Pinephone Pro 上使用的,这是一款很棒的设备!
以下是来自上面链接的原始数据示例:
$ sudo mmcli -m 0 --location-get
... Sometimes there is additional 3GPP (cell phone) location data here ...
--------------------------
GPS | nmea: $GPGSA,A,3,13,15,20,21,,,,,,,,,2.8,2.6,1.0,1*19
| $GPRMC,215904.00,A,2518.123453,N,072.1111,W,0.0,21.7,310720,10.8,W,A,V*41
| $GPGSV,3,1,12,05,20,084,22,10,06,272,21,13,51,059,32,15,81,123,34,1*6C
$GPGSV,3,2,12,18,67,295,28,20,35,284,29,21,08,313,29,23,,,30,1*58
$GPGSV,3,3,12,29,21,205,21,30,09,036,26,02,,,,07,,,,1*65
| $GPVTG,21.7,T,32.5,M,0.0,N,0.0,K,A*23
| $GPGGA,215904.00,2518.123453,N,07211.11111,W,1,04,21.1,114.4,M,-36.0,M,,*64
| utc: 215904.00
| longitude: -72.11111
| latitude: 25.123453
| altitude: 114.400000
互联网上有更多资源,如果我找到更好的资源,我会扩展这个答案
https://www.freedesktop.org/software/ModemManager/man/1.0.0/mmcli.8.html
https://electronproton.com/mmcli-command-examples/