Package
com.qualcomm.qcrilmsgtunnel
Guidance
A Qualcomm-named system component with no label of its own: it is recorded here under its package name in each locale recorded, and has no launcher entry in any observation recorded here. No Qualcomm documentation for it was found. The description below comes from a copy of Qualcomm's source for it in a LeEco MSM8996 vendor tree published on GitHub, whose files carry Qualcomm copyright dates of 2012 and 2013. It describes that copy; what current builds contain could not be sourced. In that copy it is a bridge between apps and the Qualcomm radio interface layer (RIL). Its service file is headed "Communicates with QCRIL for OEM specific reqs/responses", and its interface, described there as "exposed for other apps", has two methods that send a raw OEM request to the RIL, one returning the response directly and one through a callback. The manifest uses the phone shared user ID, defines the permission com.qualcomm.permission.USE_QCRIL_MSG_TUNNEL at protection level signatureOrSystem and guards the exported service with it, and the makefile builds the package with the platform certificate. A boot receiver starts the service unless the system property persist.radio.msgtunnel.start, which defaults to true, is false. The same directory holds the qcrilhook Java library (com.qualcomm.qcrilhook), which binds to this package's service by name and sends its requests through it. Although it carries a Qualcomm name, it is shipped by device makers. It is recorded here on devices from CipherLab, Crosscall, Datalogic, Elo Touch Solutions, Fairphone, HMD Global, HONOR, isafemobile, Motorola, Nothing, OnePlus, Xiaomi and Zebra Technologies. Where this site holds signer data, which is 7 of those 13 makes (Fairphone, Motorola, Nothing, Xiaomi, Crosscall, isafemobile and HMD Global), each copy is signed by that maker's OEM key, a key that also signs the Android framework, a platform-level key. The six permissions recorded here are WAKE_LOCK, RECEIVE_BOOT_COMPLETED, USE_QCRIL_MSG_TUNNEL and three cross-user or cross-profile interaction permissions; the cited manifest requests only the first three, so at least one recorded build differs from that copy. This site aggregates permissions across observations rather than per build, so which builds request them cannot be established. For Android Enterprise, EMM and kiosk use no enrolment, policy or management role for it is identified in the sources cited here. In the copy cited, other components reach the modem through it: the qcrilhook library binds to it, and the data status notification service in the same tree requests its permission and uses that library. If current builds work the same way, disabling it would cut those components off from the RIL. Which features that would affect on a given device could not be sourced, so the rating below is caution and any change should be tested on one device first. Version note: it is recorded here on devices from API 28 to API 36, and this site's roll-up reports version strings from 13 (oldest) to 16 (newest) and target SDK levels from 28 to 35. Those figures do not establish how the package has changed. The source copy cited is far older than the builds recorded here, and whether its role differs on current Android releases could not be sourced.
- qcrilOemHook AndroidManifest.xml - bcyj/android_tools_leeco_msm8996 (GitHub) →
- qcrilOemHook Android.mk - bcyj/android_tools_leeco_msm8996 (GitHub) →
- QcrilMsgTunnelService.java - bcyj/android_tools_leeco_msm8996 (GitHub) →
- IQcrilMsgTunnel.aidl - bcyj/android_tools_leeco_msm8996 (GitHub) →
- QcrilMsgTunnelAutoboot.java - bcyj/android_tools_leeco_msm8996 (GitHub) →
- QcRilHook.java - bcyj/android_tools_leeco_msm8996 (GitHub) →
- DataStatusNotification AndroidManifest.xml - bcyj/android_tools_leeco_msm8996 (GitHub) →
- DataStatusNotificationService.java - bcyj/android_tools_leeco_msm8996 (GitHub) →
- Package provenance for com.qualcomm.qcrilmsgtunnel - Android System App Database →
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Re-signed by each device maker with its own platform key - 8 different certificates appear across 7 device makers in our sample. That is the signature of a stock AOSP/system package every OEM builds and signs itself, not a single maker's or a third party's preinstall. These are platform-level keys: they also sign the Android framework itself.
- Its largest observed manifest declares 6 permissions: 3 signature or system-level, 2 install-time and 1 vendor or uncatalogued. The signature/system share marks it as a privileged component, not an ordinary app.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (6)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
INTERACT_ACROSS_PROFILES |
Signature-level system permission, for platform-signed apps. |
INTERACT_ACROSS_USERS |
Signature or privileged system permission. |
INTERACT_ACROSS_USERS_FULL |
Signature-level system permission, for platform-signed apps. |
RECEIVE_BOOT_COMPLETED |
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running. |
WAKE_LOCK |
Allows the app to prevent the phone from going to sleep. |
com.qualcomm.permission.USE_QCRIL_MSG_TUNNEL |
- |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
/system, so Restore re-adds it (-k keeps app data)Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| CipherLab | RK95 | Android 9.0 | - | 3 | 25 Sep 2025 |
| Crosscall | Stellar-X5 | Android 13 | - | 1 | 16 Jul 2025 |
| Crosscall | Stellar-X5 | Android 14 | - | 3 | 1 Sep 2025 |
| Crosscall | Stellar-X5 | Android 15 | OEM Crosscall | 2 | 2 Nov 2026 |
| Datalogic | Memor 35/35X | Android 15 | - | 1 | 11 Nov 2025 |
| Elo Touch Solutions | 15in-I-Series-5 | Android 14 | - | 12 | 22 Nov 2025 |
| Fairphone | Fairphone 6 | Android 15 | - | 2 | 6 Nov 2025 |
| Fairphone | FP4 | Android 13 | - | 1 | 20 Dec 2025 |
| Fairphone | FP4 | Android 15 | OEM Fairphone | 3 | 1 Nov 2026 |
| Fairphone | FP5 | Android 15 | OEM Fairphone | 1 | 4 Aug 2026 |
| HMD Global | Nokia 8.3 5G | Android 10 | OEM HMD Global | 1 | 25 Dec 2025 |
| HONOR | HEY-W09 | Android 12 | - | 3 | 26 Aug 2025 |
| HONOR | LLY-LX3 | Android 14 | - | 1 | 28 Jun 2025 |
| Isafemobile | IS540 | Android 14 | OEM isafemobile | 3 | 3 Oct 2026 |
| Motorola | moto g34 5G | Android 14 | - | 1 | 2 Sep 2025 |
| Motorola | moto g85 5G | Android 14 | - | 1 | 21 Aug 2025 |
| Motorola | motorola edge 50 fusion | Android 15 | OEM Motorola | 12 | 9 Jun 2026 |
| Motorola | motorola edge 50 fusion | Android 16 | OEM Motorola | 2 | 1 Jul 2026 |
| Motorola | ThinkPhone by motorola | Android 14 | - | 1 | 26 Sep 2025 |
| Motorola | ThinkPhone by motorola | Android 15 | - | 1 | 11 Oct 2025 |
| Nothing | A063 | Android 15 | OEM Nothing | 1 | 2 Nov 2026 |
| OnePlus | CPH2465 | Android 14 | - | 1 | 17 Jun 2025 |
| OnePlus | CPH2653 | Android 16 | - | 1 | 24 Nov 2025 |
| OnePlus | HD1903 | Android 12 | - | 1 | 10 Sep 2025 |
| OnePlus | KB2005 | Android 14 | - | 1 | 17 Sep 2025 |
| Xiaomi | 220333QNY | Android 13 | OEM Xiaomi | 1 | 16 Feb 2026 |
| Xiaomi | 23124RA7EO | Android 15 | - | 1 | 17 Jun 2025 |
| Xiaomi | M2012K11AG | Android 13 | - | 1 | 1 Oct 2025 |
| Xiaomi | M2101K6G | Android 13 | OEM Xiaomi | 1 | 8 Mar 2026 |
| Zebra Technologies | TC21 | Android 13 | - | 1 | 6 Sep 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| com.qualcomm.qcrilmsgtunnel | en-us | 31 |
| com.qualcomm.qcrilmsgtunnel | en-gb | 18 |
| com.qualcomm.qcrilmsgtunnel | en | 9 |
| com.qualcomm.qcrilmsgtunnel | en-mt | 3 |
| com.qualcomm.qcrilmsgtunnel | es-us | 3 |
| com.qualcomm.qcrilmsgtunnel | sv-SE | 3 |
| com.qualcomm.qcrilmsgtunnel | de-DE | 2 |
| com.qualcomm.qcrilmsgtunnel | de-de | 2 |
| com.qualcomm.qcrilmsgtunnel | es-es | 2 |
| com.qualcomm.qcrilmsgtunnel | 1 | |
| com.qualcomm.qcrilmsgtunnel | en-BD | 1 |
| com.qualcomm.qcrilmsgtunnel | en-GB | 1 |
| com.qualcomm.qcrilmsgtunnel | en-US | 1 |
| com.qualcomm.qcrilmsgtunnel | en-bd | 1 |
| com.qualcomm.qcrilmsgtunnel | en-pk | 1 |
| com.qualcomm.qcrilmsgtunnel | es-US | 1 |
| com.qualcomm.qcrilmsgtunnel | fr-fr | 1 |
| com.qualcomm.qcrilmsgtunnel | ru-ru | 1 |
| com.qualcomm.qcrilmsgtunnel | sv-se | 1 |