QUECTEL Android GNSS Driver User Guide

QUECTEL Android GNSS Driver User Guide

QUECTEL-лагатып

QUECTEL Android GNSS Driver

QUECTEL-Android-GNSS-Driver-product

Тэхнічныя характарыстыкі

  • Product: Android GNSS Driver
  • Версія: 1.5
  • Дата: 2026-01-28
  • Статус: Вызвалены

Інфармацыя аб прадукце

The Android GNSS Driver is designed to provide accurate and reliable Global Navigation Satellite System (GNSS) functionality on Android devices. It enables devices to receive location data from various satellite constellations for applications such as navigation, tracking, and timing.

Інструкцыя па ўстаноўцы

  1. Download the latest version of the Android GNSS Driver from the official webсайт.
  2. Follow the installation procedures outlined in Chapter 2.2 of the user guide.
  3. Ensure that your device is running Android 8.x or later versions for optimal compatibility.

Інструкцыя па выкарыстанні

To use the Android GNSS Driver:

  1. Уключыце службы вызначэння месцазнаходжання на прыладзе.
  2. Open the GNSS-enabled application that you want to use (e.g., Maps).
  3. Wait for the device to acquire satellite signals and provide accurate location information.

Ліквідацыю непаладак

If you encounter issues with the GNSS Driver:

  1. Refer to Chapter 3.4 for troubleshooting instructions specific to Android 8.0 or later versions.
  2. Check for any error messages or warnings in the GNSS logs as described in Chapter 3.2.
  3. Ensure that your device is compatible with the supported modules listed in the user guide.

У Quectel мы імкнемся прадастаўляць кліентам своечасовыя і комплексныя паслугі. Калі вам патрэбна дапамога, звяртайцеся ў наш штаб:

Quectel Wireless Solutions Co., Ltd.

  • No. 8 Waipojing Road, Sijing Town, Songjiang District, Shanghai 201601, China
  • Тэл.: +86 21 5108 6236
  • электронная пошта: info@quectel.com

Ці нашы мясцовыя офісы. Для атрымання дадатковай інфармацыі, калі ласка, наведайце:

Каб атрымаць тэхнічную падтрымку або паведаміць пра памылкі дакументацыі, наведайце:

Прававыя паведамленні
We provide this document to support your product design. You are required to design your products based on the specifications and parameters set forth herein. You agree that you are responsible for using independent analysis and evaluation in designing intended products, and we provide reference designs for illustrative purposes only. Before using any hardware, software, or service guided by this document, please read this notice carefully. Even though we employ commercially reasonable efforts to provide the best possible experience, you hereby acknowledge and agree that this document and related services hereunder are provided to you on an “as available” basis. You acknowledge and agree that we may add to, amend, or restate this document at any time at our sole discretion without any prior notice to you, and such additions, amendments, or restatements shall be binding upon you.

Абмежаванні на выкарыстанне і раскрыццё інфармацыі

Ліцэнзійныя пагадненні
The recipient of any hardware, software, materials, or documentation provided by us shall keep such content confidential, unless expressly authorized by us. The recipient shall not disclose, access, or use any part of the received content for any purpose other than the execution and implementation of the intended project.

Аўтарскае права
Our and third-party products hereunder may contain copyrighted materials, including but not limited to protected content, hardware, software, and documentation owned by us or applicable third parties. Unless prior written consent is obtained, you shall not access, use, or disclose any documents or information provided by us, nor shall you copy, reproduce, republish, display, translate, distribute, merge, modify, or create derivative works from any such copyrighted materials. The applicable third party and we retain exclusive rights to all copyrighted materials.

No license to any patents, copyrights, trademarks, or service marks shall be granted or transferred. For the avoidance of doubt, no form of purchase shall be construed as granting any license beyond a normal, non-exclusive, royalty-free license to use the product. We reserve the right to pursue legal action against any violation of confidentiality obligations, unauthorized use, or any other unlawful or malicious use of the aforementioned documents and information.

Таварныя знакі
Unless otherwise expressly provided, nothing in this document shall be construed as conferring any rights to use any trademark, trade name, name, abbreviation, or counterfeit thereof owned by us or any third party in advertising, publicity, or any other contexts.

Правы трэціх асоб
You understand that this document may refer to hardware, software, and/or documentation owned by one or more third parties (“third-party materials”). Use of such third-party materials is subject to all applicable restrictions and obligations set forth herein.

We make no warranty or representation, either express or implied, regarding the third-party materials, including but not limited to any implied or statutory warranties of merchantability or fitness for a particular purpose, quiet enjoyment, system integration, information accuracy, and non-infringement of any third-party intellectual property rights with respect to the licensed technology or use thereof. Nothing herein constitutes a representation or warranty by us to either develop, enhance, modify, distribute, market, sell, offer for sale, or otherwise maintain production of any of our products or any other hardware, software, device, tool, information, or product. We disclaim any warranties arising from the course of dealing, course of performance, or usage of trade.

Палітыка прыватнасці

To enable product functionality, certain device data may be uploaded to our or third-party servers, including those operated by carriers, chipset suppliers, or servers designated by you. We strictly comply with applicable laws and regulations and will retain, use, disclose, or otherwise process relevant data solely for the purpose of enabling product functionality, or as permitted by applicable laws. Before interacting with any third party regarding data exchange, please be informed of and understand their privacy and data security policies.

Адмова ад адказнасці

  • a) We shall not be liable for any damages resulting from failure to comply with applicable operational or design specifications.
  • b) We shall bear no liability for any inaccuracies or omissions in this document, nor for any damages arising from the use of the information contained herein.
  • c) While we make every effort to ensure the integrity, accuracy, and timeliness of the features and functions under development, errors or omissions may nevertheless occur. Unless otherwise provided in a valid written agreement, we make no warranties of any kind, express, implied, or statutory, and disclaim all liability for any loss or damage arising from the use of any features or functions under development, to the maximum extent permitted by law, regardless of whether such loss or damage is foreseeable.
  • d) We assume no legal responsibility for the accessibility, safety, accuracy, availability, legality, or completeness of any information, content, advertising, commercial offers, products, services, or materials on third-party websites or third-party resources.

Аб дакуменце

Гісторыя версій 

QUECTEL-Android-GNSS-Driver-fig- (1)QUECTEL-Android-GNSS-Driver-fig- (2)

Уводзіны

This document mainly introduces how to integrate the Android GNSS (Global Navigation Satellite System) driver into the Android OS of Quectel modules supporting the GNSS function, capture GNSS log, and test the GNSS driver.

Табліца 1: Дастасавальныя модулі

QUECTEL-Android-GNSS-Driver-fig- (3)

УВАГА
Quectel modules listed above may include only a single model or multiple models, with GNSS as a possible optional feature. See the corresponding module specifications for more specific information.

Сістэмная інтэграцыя

This chapter describes the structure of the Android GNSS driver and explains how to integrate the GNSS driver into the Android OS of Quectel modules supporting the GNSS function.

Structure of Android GNSS Driver
GNSS devices transmit the GNSS data through the GNSS hardware driver, and then the GNSS HAL driver transmits the received GNSS data to GNSS applications through JNI and the Application Framework. The following figure illustrates the structure of a GNSS driver.

Прыкладанні
Рамка прыкладанняў
JNI
HAL (Quectel GNSS Driver)
Linux Kernel (Quectel USB Driver)
GNSS Device (Quectel Module)

Figure 1: Android GNSS Driver Structure

GNSS Driver Installation

For Android versions before Android 8.0

Add GNSS driver files gps_cfg.inf and gps.default.so to the Android system:

  • For a 32-bit Android systemQUECTEL-Android-GNSS-Driver-fig- (5)
  • For a 64-bit Android systemQUECTEL-Android-GNSS-Driver-fig- (6)

For Android 8.0 or later versions

Step 1: Modify the manifest.xml file.

  • For Android 8.x–16.x, the communication interface between the application framework and HAL has changed from socket to HIDL and AIDL. Therefore, the following HIDL or AIDL description needs to be added to the manifest.xml file.
  • For Android 8.x–16.x, add the following HIDL (IGnss 1.0) description:QUECTEL-Android-GNSS-Driver-fig- (7)
  • For Android 10.x–16.x, add the following HIDL (IGnss 2.0) description:QUECTEL-Android-GNSS-Driver-fig- (8)QUECTEL-Android-GNSS-Driver-fig- (9)
  • For Android 12.x–16.x, add the following HIDL (IGnss 2.1) description:QUECTEL-Android-GNSS-Driver-fig- (10)
  • For Android 13.x–16.x, add the following GNSS AIDL2 description:QUECTEL-Android-GNSS-Driver-fig- (11)

УВАГА

  1. Add either AIDL or HIDL (any one from IGnss 1.0/2.0/2.1) description to the manifest.xml file. Do not add both descriptions to the file.
  2. The location of the manifest.xml file varies according to your project settings. For exampль:
    • device/rockchip/rk3399/manifest.xml
    • device/fsl/imx6dq/sabresd_6dq/manifest.xml

Step 2: Add the following code lines to the corresponding .mk file in the directory of the actual device in use.

  • For HIDL (IGnss 2.0):QUECTEL-Android-GNSS-Driver-fig- (12)
  • For HIDL (IGnss 2.1):QUECTEL-Android-GNSS-Driver-fig- (13)
  • For GNSS AIDL2:QUECTEL-Android-GNSS-Driver-fig- (13)

УВАГА 

  1. The location of.mk file varies according to your project settings. For exampль:
    • device/rockchip/rk356x/device.mk
  2. The above operations are only for reference. And the specific operations depend on the actual Android device in use.

SELinux Configuration
If the SELinux installed in your Android devices is enabled (i.e., in enforcing mode) and you need to customize the shared library name for the GNSS service, follow the procedures below to make sure that the Quectel GNSS driver has full access to SELinux privileges. Otherwise, you can skip this chapter.

Step 1: Add the following definition to file_contexts.

QUECTEL-Android-GNSS-Driver-fig- (15)

<file_name>: GNSS service binary file name (e.g., android.hardware.gnss-service.test).

Step 2: Add the following definition to hal_gnss_default.te.

QUECTEL-Android-GNSS-Driver-fig- (16)

УВАГА 

Размяшчэнне ст file_contexts and hal_gnss_default.te files varies according to your project settings. Typically, these files are located at the following paths by default.

  • system/sepolicy/vendor/file_contexts.
  • system/sepolicy/vendor/hal_gnss_default.te

Removal of Unnecessary GNSS Driver Files
Except for GPS.default.So, other unnecessary gps.*.so files in the directory of /system/lib/hw, /system/lib64/hw, /vendor/lib/hw, and /vendor/lib64/hw in the Android system should be deleted to ensure that the system can identify the correct GNSS driver.

GNSS Log Capture

This chapter mainly introduces how to capture a GNSS log.

  1. Capture the GNSS log with the ADB tool by executing the following command in a Windows/Linux system:QUECTEL-Android-GNSS-Driver-fig- (17)
  2. Sometimes, users may conduct tests across multiple devices or perform prolonged testing, making it inconvenient to connect all devices to a PC via USB cables. In such cases, users can capture logs by executing the following command:QUECTEL-Android-GNSS-Driver-fig- (18)The character “&” will cause the “logcat” process to run in the background, allowing users to disconnect devices.
    After capturing the logs, execute the following command to export the log files from Android devices to a local directory: QUECTEL-Android-GNSS-Driver-fig- (19)

GNSS Driver Test

When the module is connected to an Android system, the Android system will identify it first and then read the GNSS driver data. A GNSS test application, such as GPS TEST v1.5.4.APK (for more details about GPS Test, please refer to https://play.google.com/store/apps/details?id=com.chartcross.gpstest), can be used to test the performance of the GNSS driver.

QUECTEL-Android-GNSS-Driver-fig- (20)

УВАГА: In the above figure, a satellite with a number greater than 160 belongs to BDS.

Дадатковыя інструкцыі

Modify GNSS Configuration File & Integrate Android RIL Driver

Quectel GNSS driver has a configuration file named gps_cfg.inf. The file is modifiable. Make the following change to the NMEA port:

QUECTEL-Android-GNSS-Driver-fig- (21)

The Quectel Android RIL driver should be integrated prior to integrating the Android GNSS driver. For details about the Android RIL driver, refer to document [1].

Fail to Get GNSS Data

If GNSS applications fail to get GNSS data, the following items should be checked:

  • Move the GNSS antenna to the open air, and make sure GNSS signals can be fully received.
  • Ensure that gps.default.so is the only file in the format of gps.*.so in the directories of /system/lib/hw, /system/lib64/hw, /vendor/lib/hw, and /vendor/lib64/hw.
  • Ensure that gps_cfg.inf is in the correct directory of the Android system and has been modified according to the specific module.

If the GNSS applications with GNSS drivers running on Android 8.0 or later versions fail to get GNSS data, the following files should be checked and confirmed additionally (using the rk3399-based platform as an exampле).

  1. If the following log appears repeatedly:QUECTEL-Android-GNSS-Driver-fig- (22)
    • Check whether the content shown in the white box in the following figure is included in device/rockchip/rk3399/manifest.xml. If not, modify the content of the file as described in the white box.QUECTEL-Android-GNSS-Driver-fig- (23)
  2. If the following log appears repeatedly:
    Waited one second for android.hardware.gnss@1.0:: I Gnss/default. Waiting another…
    • Check whether the content in the white box in the following figure is included in device/rockchip/rk3399/BoardConfig.mk. If not, modify the content of the file as described in the white box.QUECTEL-Android-GNSS-Driver-fig- 26
    • Check whether the content in the white box in the following figure is included in device/rockchip/rk3399/device.mk. If not, modify the content of the file as described in the white box. QUECTEL-Android-GNSS-Driver-fig- 27
    • Check whether the content in the white box in the following figure is included in device/rockchip/rk3399/init.rk3399.rc. If not, modify the content of the file as described in the white box. QUECTEL-Android-GNSS-Driver-fig- 28

If the problem still exists after checking all the items above, please contact Quectel Technical Support.

Дадатак Спіс літаратуры

Табліца 2: Звязаны дакумент 

QUECTEL-Android-GNSS-Driver-fig- (24)

Табліца 3: Тэрміны і скарачэнні 

QUECTEL-Android-GNSS-Driver-fig- (25)

FAQ

How do I update the Android GNSS Driver?

To update the driver, visit the official website and download the latest version. Follow the installation instructions provided in the user guide.

Can I use the GNSS Driver on devices running older versions of Android?

The driver is optimized for Android 8.x and later versions. While it may work on older versions, we recommend using it on supported platforms for the best performance.

Дакументы / Рэсурсы

PDF thumbnailAndroid GNSS Driver
User Guide · V1.5, Android GNSS Driver, GNSS Driver

Задайце пытанне

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Задайце пытанне

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.