Package
com.mediatek.capctrl.service
RilCap
Guidance
Labelled "RilCap", this is a MediaTek platform component preinstalled on MediaTek-based devices. It has no launcher entry, no observation here is user-facing, and none is Play-eligible, so it is a non-launcher firmware component rather than an app anyone opens. This site records the label RilCap across the locales in its sample. The label and package name are most of what can be said about its job. RIL is the Radio Interface Layer, the telephony abstraction documented by AOSP, and "capctrl" reads as capability control, so the name places this on the modem and telephony side of a MediaTek build. What capability it controls, and on whose behalf, is not documented: MediaTek publishes no per-package documentation for it, and descriptions circulating on APK catalogues are not a basis for a claim. Treat the specific function as vendor-defined and firmware-specific rather than a documented fact. Two further details are recorded rather than inferred. Its aggregated permission set holds two entries, DEVICE_POWER and RECEIVE_BOOT_COMPLETED. The Android platform manifest describes the first as allowing low-level access to power management and marks it as not for use by third-party applications, and the second as allowing an application to receive the ACTION_BOOT_COMPLETED broadcast sent after the system finishes booting. This site aggregates permissions across observations rather than per build, so which builds request them cannot be established here. Builds are small, between roughly 61.9 KB and 66.0 KB. Provenance repeats the pattern this site already records for MediaTek components: the same package name appears across 19 device makes, including Xiaomi, Motorola, vivo, realme, TCL, Lenovo, Nothing, Infinix, Blackview, OUKITEL, Ulefone, Unihertz, Newland, CUBOT and NUU, under 12 distinct signing certificates, each classified here as the device maker's own key and each recorded as also signing the Android framework, a platform-level key. That per-maker platform signing is the pattern seen when a silicon vendor's component is rebuilt into each maker's firmware rather than shipped under one shared key. Version note. Observations here run from API 29 to API 36, the oldest build by version code carries the version name 14 and the newest 16, and this site's target SDK roll-up reports 33 to 36. Those are independent roll-ups across observations rather than a per-build pairing, so they cannot be read as saying which target SDK any given device carries. Nothing sourced indicates the package has been superseded, replaced or modularised at a particular Android release, and whether its role has changed across releases could not be sourced, so that is flagged here as an open question rather than answered. For Android Enterprise, EMM and kiosk use, no enrolment or management role is identified in the sources cited here and it presents nothing to a user, so an administrator normally meets it in an EMM app inventory. Because it carries a platform-level signature, sits in the chipset vendor's namespace and requests RECEIVE_BOOT_COMPLETED in the aggregated sample, disabling it offers no clear benefit and could have chipset and firmware specific effects that could not be sourced. It is best left in place, and only touched with careful per-device testing that includes placing and receiving a call.
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 - 12 different certificates appear across 8 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 2 permissions: 1 signature or system-level and 1 install-time. 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 (2)
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 |
|---|---|
DEVICE_POWER |
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. |
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 |
|---|---|---|---|---|---|
| ALCommon | ALCommon | Android 15 | - | 1 | 20 Jun 2025 |
| Ant Dao Technology Limited | B3 | Android 14 | OEM ANT DAO TECHNOLOGY LIMITED | 1 | 18 Aug 2026 |
| Blackview | VARG | Android 11 | - | 1 | 1 Sep 2025 |
| CUBOT | P80 | Android 13 | - | 2 | 20 Sep 2025 |
| Infinix | Infinix X6525B | Android 13 | - | 1 | 5 Dec 2025 |
| Infinix | Infinix X6871 | Android 14 | - | 1 | 21 May 2025 |
| Lenovo | Lenovo TB-7306F | Android 11 | - | 1 | 19 Jul 2025 |
| Lenovo | Lenovo TB-X6C6NBF | Android 12 | - | 1 | 15 May 2025 |
| Lenovo | TB132FU | Android 14 | - | 1 | 16 Jun 2025 |
| Lenovo | TB570FU | Android 15 | - | 1 | 17 Jun 2025 |
| Motorola | moto g - 2025 | Android 16 | OEM Motorola | 1 | 14 Dec 2025 |
| Motorola | moto g05 | Android 15 | OEM Motorola | 2 | 15 Apr 2026 |
| Motorola | moto g06 | Android 15 | - | 2 | 3 Mar 2026 |
| Motorola | moto g15 | Android 15 | - | 10 | 27 Nov 2025 |
| Motorola | moto g24 | Android 14 | OEM Motorola | 1 | 19 Dec 2025 |
| Newland | NLS-MT95 | Android 15 | OEM Newland | 1 | 19 Aug 2026 |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| NUU | S6707X | Android 14 | OEM NUU | 1 | 12 Jan 2026 |
| OUKITEL | WP100 TITAN | Android 14 | - | 2 | 25 Jul 2025 |
| OUKITEL | WP100 TITAN | Android 15 | - | 1 | 6 Dec 2025 |
| OUKITEL | WP60 | Android 15 | OEM OUKITEL | 3 | 9 Dec 2025 |
| realme | RMX2001 | Android 11 | - | 1 | 21 Aug 2025 |
| Rhino | C10 | Android 10 | - | 1 | 14 Jul 2025 |
| Rhino | T8 | Android 14 | - | 1 | 17 May 2025 |
| Smt_hk | Helium Pro | Android 12 | - | 1 | 19 Jul 2025 |
| TCL | 6025D_EEA | Android 11 | - | 1 | 17 Sep 2025 |
| TCL | 6165H | Android 13 | - | 1 | 16 Sep 2025 |
| TCL | 9466X | Android 13 | - | 1 | 13 Jan 2026 |
| TCL | 9491G | Android 14 | - | 1 | 26 Aug 2025 |
| TCL | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
| TCL | T517F | Android 16 | OEM TCL | 1 | 8 Aug 2026 |
| TCL | T610K | Android 14 | - | 1 | 24 Oct 2025 |
| TCL | T951K | Android 15 | OEM TCL | 8 | 8 Jan 2026 |
| Ulefone | Power Armor X11 Pro | Android 12 | - | 1 | 15 Sep 2025 |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
| vivo | V2550 | Android 16 | OEM vivo | 1 | 21 Jul 2026 |
| Xiaomi | 21091116UI | Android 13 | - | 1 | 8 Sep 2025 |
| Xiaomi | 23106RN0DA | Android 15 | - | 1 | 22 May 2025 |
| Xiaomi | 24117RN76O | Android 15 | OEM Xiaomi | 1 | 28 Dec 2025 |
| Xiaomi | 24117RN76O | Android 16 | OEM Xiaomi | 1 | 20 Mar 2026 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| RilCap | en-gb | 21 |
| RilCap | en-us | 18 |
| RilCap | de-at | 10 |
| RilCap | en | 5 |
| RilCap | es-es | 5 |
| RilCap | en-US | 3 |
| RilCap | vi-vn | 2 |
| RilCap | en-GB | 2 |
| RilCap | es-us | 2 |
| RilCap | vi-VN | 2 |
| RilCap | 2 | |
| RilCap | cs-cz | 1 |
| RilCap | ru-ru | 1 |
| RilCap | en-in | 1 |
| RilCap | en-za-u-fw-mon-mu-celsius | 1 |
| RilCap | es-US | 1 |