Package
com.android.devicelockcontroller
DeviceLockController
Guidance
This is the AOSP DeviceLockController, the on-device component that backs Android's system device-lock feature (the "android.devicelock" API and its DeviceLockManager). It ships as part of the platform DeviceLock module and is signed by the platform, so it appears as Google-signed on Google devices and with the OEM's platform signature on other builds. Its role is to let an approved device-financing or subsidy programme lock and unlock a device: on a financed handset the financing entity can restrict the device if payments are missed, and when locked only a limited set of interactions (such as placing emergency calls) remains available. Version behaviour is the key thing to flag here. The "android.devicelock" system API and its DeviceLockManager were introduced in Android 14 (API level 34), and this AOSP DeviceLockController is the component that implements it; on this site the package is only observed on Android 14 and 15 devices, consistent with that. It should not be confused with the older, separate Play Store app "Device Lock Controller" (package com.google.android.apps.devicelock), which Google introduced in 2020 for device-financing creditors and which is a different, downloadable package. For ordinary Android Enterprise, EMM and kiosk fleets that are not part of a carrier or retailer financing programme, this component is dormant and plays no part in enrolment or management, so it can usually be left alone. It is a protected system package, so removing it is neither necessary nor straightforward for a normal deployment, and on a device that is genuinely subject to a financing lock, interfering with it could matter. Treat with caution rather than disabling by default.
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.
- Signed by Google's own signing key (the same key Google uses across devices), so it is a Google-provided preinstall that updates independently of the system image, though 18 different Google signing keys appear across the fleet. It also signs the Android framework, so it is a platform-level key on its device(s).
- Its largest observed manifest declares 26 permissions: 1 runtime (user-granted), 13 signature or system-level, 7 install-time and 5 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 (26)
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 |
|---|---|
ACCESS_NETWORK_STATE |
Allows the app to view information about network connections such as which networks exist and are connected. |
CHANGE_COMPONENT_ENABLED_STATE |
Signature or privileged system permission. |
CONNECTIVITY_USE_RESTRICTED_NETWORKS |
Signature or privileged system permission. |
FOREGROUND_SERVICE |
Allows the app to make use of foreground services. |
INSTALL_EXISTING_PACKAGES |
- |
INSTALL_PACKAGES |
Signature or privileged system permission. |
INTERACT_ACROSS_USERS |
Signature or privileged system permission. |
INTERNET |
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet. |
MANAGE_DEVICE_POLICY_APPS_CONTROL |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_CALLS |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_DEBUGGING_FEATURES |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_INSTALL_UNKNOWN_SOURCES |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_LOCK_TASK |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_SAFE_BOOT |
Internal platform permission, granted only by the system. |
MANAGE_DEVICE_POLICY_TIME |
Internal platform permission, granted only by the system. |
MASTER_CLEAR |
Signature or privileged system permission. |
OTHER_SENSORS |
- |
POST_NOTIFICATIONS |
Allows the app to show notifications |
QUERY_ALL_PACKAGES |
Allows an app to see all installed packages. |
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
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. |
USE_EXACT_ALARM |
This app can schedule actions like alarms and reminders to notify you at a desired time in the future. |
WAKE_LOCK |
Allows the app to prevent the phone from going to sleep. |
com.android.devicelock.permission.START_KIOSK_SETUP_ACTIVITY |
- |
com.android.devicelockcontroller.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
com.android.devicelockcontroller.permission.MANAGE_DEVICE_LOCK_SERVICE_FROM_CONTROLLER |
- |
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 |
| Commbox | CommBox_Classic_S5 | Android 14 | OEM COMMBOX | 1 | 2 Apr 2026 |
| Crosscall | Stellar-X5 | Android 14 | - | 3 | 1 Sep 2025 |
| Crosscall | Stellar-X5 | Android 15 | OEM Crosscall | 1 | 13 Jul 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 15 | OEM Fairphone | 2 | 27 Jul 2026 |
| Fezawio | F11_V_US | Android 15 | - | 1 | 14 Jul 2026 |
| Pixel 10 | Android 16 | 1 | 5 Jun 2026 | ||
| Pixel 10 Pro | Android 16 | - | 1 | 26 Mar 2026 | |
| Pixel 6 | Android 16 | - | 1 | 13 Oct 2025 | |
| Pixel 7 Pro | Android 16 | 1 | 9 Mar 2026 | ||
| Pixel 8 | Android 16 | - | 4 | 3 Jun 2026 | |
| Pixel 9 Pro XL | Android 16 | 21 | 29 Mar 2026 | ||
| Pixel 9 Pro XL | Android 17 | 2 | 28 Jul 2026 | ||
| sdk_gphone16k_arm64 | Android 16 | 2 | 6 Feb 2026 | ||
| sdk_gphone64_arm64 | Android 16 | - | 5 | 2 Dec 2025 | |
| HMD Global | Nokia G22 | Android 14 | - | 1 | 4 Dec 2025 |
| HONOR | LLY-LX3 | Android 14 | - | 1 | 28 Jun 2025 |
| Hotwav | TAB R9 Pro | Android 14 | - | 1 | 18 Sep 2025 |
| Isafemobile | IS540 | Android 14 | - | 2 | 17 Sep 2025 |
| Lenovo | TB132FU | Android 14 | - | 1 | 16 Jun 2025 |
| Lenovo | TB352FU | Android 15 | - | 1 | 26 Jul 2026 |
| Lenovo | TB570FU | Android 15 | - | 1 | 17 Jun 2025 |
| Motorola | moto g - 2025 | Android 16 | OEM Motorola | 1 | 14 Dec 2025 |
| Motorola | moto g06 | Android 15 | - | 2 | 3 Mar 2026 |
| Motorola | moto g24 | Android 14 | OEM Motorola | 1 | 19 Dec 2025 |
| 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 16 | OEM Motorola | 2 | 10 Jun 2026 |
| Motorola | ThinkPhone by motorola | Android 14 | - | 1 | 26 Sep 2025 |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| Nothing | A063 | Android 15 | OEM Nothing | 1 | 22 Apr 2026 |
| NUU | S6707X | Android 14 | OEM NUU | 1 | 12 Jan 2026 |
| OnePlus | CPH2465 | Android 14 | - | 1 | 17 Jun 2025 |
| OnePlus | CPH2653 | Android 16 | - | 1 | 24 Nov 2025 |
| OnePlus | KB2005 | Android 14 | - | 1 | 17 Sep 2025 |
| OPPO | CPH2591 | Android 15 | - | 1 | 10 Jul 2025 |
| OPPO | CPH2637 | Android 15 | OEM OPPO | 1 | 2 Feb 2026 |
| OUKITEL | C59 Pro | Android 15 | - | 1 | 6 Nov 2025 |
| OUKITEL | WP100 TITAN | Android 14 | - | 2 | 25 Jul 2025 |
| OUKITEL | WP100 TITAN | Android 15 | - | 1 | 6 Dec 2025 |
| OUKITEL | WP28 E | Android 14 | OEM OUKITEL | 1 | 27 Jul 2026 |
| OUKITEL | WP60 | Android 15 | OEM OUKITEL | 3 | 9 Dec 2025 |
| Rhino | T8 | Android 14 | - | 1 | 17 May 2025 |
| TCL | 9491G | Android 14 | - | 1 | 26 Aug 2025 |
| TCL | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
| TCL | T610K | Android 14 | - | 1 | 24 Oct 2025 |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
| Urao | X108 | Android 16 | OEM URAO | 1 | 3 Jun 2026 |
| Zebra Technologies | KC50 | Android 15 | OEM Zebra Technologies | 1 | 27 Jul 2026 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| DeviceLockController | en-us | 57 |
| DeviceLockController | en | 28 |
| DeviceLockController | en-gb | 23 |
| DeviceLockController | en-GB | 5 |
| DeviceLockController | nl-NL | 5 |
| DeviceLockController | 4 | |
| DeviceLockController | en-US | 4 |
| DeviceLockController | en-au | 2 |
| DeviceLockController | es-us | 2 |
| DeviceLockController | nl-nl | 2 |
| DeviceLockController | sv-SE | 2 |
| DeviceLockController | es-es | 2 |
| DeviceLockController | en-us-u-fw-mon-ms-ussystem-mu-fahrenhe | 1 |
| DeviceLockController | en-us-u-fw-sat | 1 |
| DeviceLockController | es-MX | 1 |
| DeviceLockController | es-mx | 1 |
| DeviceLockController | it-it | 1 |
| DeviceLockController | ja-jp | 1 |
| DeviceLockController | de-de | 1 |
| DeviceLockController | en-de | 1 |
| DeviceLockController | sv-se | 1 |
| DeviceLockController | en-ca-u-fw-mon-mu-celsius | 1 |
| DeviceLockController | en-lk | 1 |
| DeviceLockController | en-mt | 1 |
| DeviceLockController | en-pk | 1 |