Learn about the tools available to get raw Global Navigation Satellite Systems (GNSS) measurements in Android devices.
Android apps typically access GNSS chipsets through a filter, which improves the GNSS location output for the majority of use cases. Filters use additional sensors, such as motion sensors, to improve the end user experience. However, filtering is not appropriate for some applications used by professionals such as researchers and Original Equipment Manufacturer (OEM) developers. The Android Framework provides access to raw GNSS measurements on some Android devices.
This article lists Android devices that support raw GNSS measurements as well as tools that help you log and analyze GNSS data.
Android devices that support raw GNSS measurements
Before you can get any raw GNSS output, you need to make sure that you have a device that can capture such data. Most devices manufactured in 2016 or later and shipped with Android 7.0 or higher provide raw GNSS data.
Depending on the device, raw GNSS measurements can include all or some of the following data:
- Pseudo-range and pseudo-range rate.
- Navigation messages.
- Accumulated delta range or carrier.
- Hardware (HW) clock.
The table below lists devices that support raw GNSS measurements and the data they provide. This is not a comprehensive list, you should contact the manufacturer to make sure that a specific device supports raw GNSS measurements.
|Model||Android version||Pseudo-range data||Navigation messages||Accumulated delta range||HW clock||Global systems|
|Huawei Honor 9||7.0||yes||yes||yes||yes||GPS
|Samsung S8 (Exynos)1||7.0||yes||yes||yes||yes||GPS
|Samsung S8 (QCOM)2||7.0||yes||no||no||yes||GPS|
|Huawei Honor 8||7.0||yes||yes||yes||yes||GPS
|Huawei Mate 9||7.0||yes||yes||yes||yes||GPS
|Nexus 9 (non cellular version)4||7.1||yes||yes||yes||yes||GPS
1 Exynos, EMEA devices, Models: G950F or G955F
2 QCOM, USA devices, Models: G950U or G955U
3 Raw measurements are provided only when a GPS position is available.
4 No duty cycling. Works only on the non cellular version of Nexus 9.
For more information about the data provided by a device, see Global Navigation Satellite Systems.
Logging raw measurements
You can use Android Studio to build an app that captures raw GNSS measurements and logs them to a file. The GPS Measurement Tools project includes GNSS Logger, a sample app that shows how to log data related to Android location, including raw GNSS measurements.
Download the GNSS Logger APK to install the sample app in your device.
To get GNSS output with the sample app, your device must support raw GNSS measurements. For more information, see Android devices that support raw GNSS measurements.
Analyzing raw measurements
Once you have captured the GNSS output, you can copy the log files from the device to your computer for further analysis. For more information, see Copy files to/from a device.
- Read data captured with the GNSS Logger sample app.
- Compute and visualize pseudo-ranges.
- Compute weighted least squares position and velocity.
- View and analyze carrier phase.
We want to improve the support for GNSS on Android. Let us know about any issues with GNSS support on Android by using the GNSS issue tracker.
If you have other questions or a request for support, see Developer Support Resources.