Package
com.qualcomm.uimremoteserver
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 two copies of Qualcomm's source for it in vendor trees published on GitHub by third parties: an older copy whose files carry Qualcomm copyright dates between 2014 and 2019, and a newer copy that adds files dated 2023. It describes those copies; what the builds recorded here contain could not be sourced. In the older copy it is a service through which an approved app can send card commands to the modem for a given SIM slot. Its interface file describes it as "the service which allows a client to make a remote UIM Server available to the service". A client registers a callback and can then connect with a proposed maximum message size, disconnect, send a command APDU, request the card's ATR, switch card power on or off and request a SIM reset. The service relays these to a Qualcomm vendor radio HAL, vendor.qti.hardware.radio.uim_remote_server@1.0, with one instance per slot. What the arrangement is used for is not stated in the files cited. The manifest declares only this one service, exported and guarded by the permission com.qualcomm.permission.UIM_REMOTE_SERVER, which the same manifest defines at protection level signatureOrSystem. The service also checks callers against an allow-list of package name and SHA-1 signing certificate fingerprint; that copy's list holds one entry, com.qualcomm.qti.uim_remote_servers. The makefile builds the package with the platform certificate and skips it on low-RAM targets. Although it carries a Qualcomm name, it is shipped by device makers. It is recorded here on devices from Crosscall, Datalogic, Elo Touch Solutions, Fairphone, HMD Global, Nothing, OnePlus and Xiaomi. Where this site holds signer data, which is 5 of those 8 makes (Nothing, Fairphone, Crosscall, Xiaomi 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 one permission recorded here is READ_PRIVILEGED_PHONE_STATE, which is what the newer copy's manifest requests; the older copy's manifest requests READ_PHONE_STATE instead. This site aggregates permissions across observations rather than per build, so which builds request it 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 copies cited it is reachable only by an app that holds its permission and is on its allow-list. Whether any device recorded here has such an app, and what stops working if the package is disabled, could not be sourced, so the rating below is caution and any change should be tested on one device with a SIM in use first. Version note: the two copies differ. The older manifest uses the phone shared user ID and runs the service in the com.android.phone process; the newer manifest does neither. The newer copy also adds a factory class, dated 2023, whose comment says it "creates a HIDL or AIDL UimRemoteServer HAL instance": it selects an AIDL HAL where the board API level (or, where that is unset, the first product API level) is Android 14 or above and that HAL is declared, the HIDL HAL otherwise, and a "not supported" stand-in where it finds no cellular support. It is recorded here on devices between API 29 and API 36, and this site's roll-up reports version strings from 13 (oldest) to 15 (newest) and target SDK levels from 29 to 35. Those figures do not establish which copy, if either, a given recorded build matches.
- uim_remote_service server AndroidManifest.xml - Sushrut1101/android_vendor_qcom_proprietary (GitHub) →
- uim_remote_service server Android.mk - Sushrut1101/android_vendor_qcom_proprietary (GitHub) →
- uim_remote_service server applist.xml - Sushrut1101/android_vendor_qcom_proprietary (GitHub) →
- IUimRemoteServerService.aidl - Sushrut1101/android_vendor_qcom_proprietary (GitHub) →
- UimRemoteServerService.java - Sushrut1101/android_vendor_qcom_proprietary (GitHub) →
- uim_remote_service server AndroidManifest.xml, newer copy - aospa-op13/proprietary (GitHub) →
- UimRemoteServerFactory.java, newer copy - aospa-op13/proprietary (GitHub) →
- Package provenance for com.qualcomm.uimremoteserver - 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 - 6 different certificates appear across 5 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 1 permissions: 1 signature or system-level. 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 (1)
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 |
|---|---|
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
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 |
|---|---|---|---|---|---|
| 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 |
| 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 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| com.qualcomm.uimremoteserver | en-us | 15 |
| com.qualcomm.uimremoteserver | en-gb | 13 |
| com.qualcomm.uimremoteserver | en | 7 |
| com.qualcomm.uimremoteserver | sv-SE | 3 |
| com.qualcomm.uimremoteserver | 1 | |
| com.qualcomm.uimremoteserver | de-de | 1 |
| com.qualcomm.uimremoteserver | en-GB | 1 |
| com.qualcomm.uimremoteserver | en-US | 1 |
| com.qualcomm.uimremoteserver | en-pk | 1 |
| com.qualcomm.uimremoteserver | es-US | 1 |
| com.qualcomm.uimremoteserver | es-es | 1 |
| com.qualcomm.uimremoteserver | es-us | 1 |
| com.qualcomm.uimremoteserver | fr-fr | 1 |
| com.qualcomm.uimremoteserver | ru-ru | 1 |
| com.qualcomm.uimremoteserver | sv-se | 1 |