Package
com.android.devicediagnostics
DeviceDiagnostics
Guidance
This is DeviceDiagnostics, an Android Open Source Project application that provides on-device hardware health checks and tests. It is designed to surface component health such as battery and storage status, and to run manual display tests (cycling through colour screens to find dead pixels) and touch tests. It also includes an evaluation mode that uses one device, via a QR code, to assess another, which is useful for trade-in and refurbishment workflows. The AOSP source for the app carries explicit "trade-in mode" logic, reflecting that resale and evaluation use case. Behaviour here is version-specific and the user-facing surface has changed over time. A "Device diagnostics" menu appeared on Pixel devices during the Android 15 beta cycle (Beta 4, mid-2024), under Settings then System, offering battery and storage health and manual display and touch tests. Reporting indicates Google then withdrew that menu by Beta 4.2, marking it as intended behaviour and saying the feature was not ready for release while more robust diagnostics were still in development, while the underlying application remained in the platform. Its exact status in later stable releases could not be confirmed from these sources. The takeaway is that whether a user-visible diagnostics menu is exposed depends on the Android version and OEM, and the presence of this package does not by itself mean a menu is reachable. For Android Enterprise, EMM and kiosk fleets it is best understood as a diagnostic and trade-in helper rather than a core system service. Consequences of disabling it are not clearly documented, so treat removal with a little caution on devices where trade-in or hardware-evaluation flows might be used.
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 - 16 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 16 permissions: 6 runtime (user-granted), 5 signature or system-level, 3 install-time and 2 vendor or uncatalogued.
- APK size ranges from 5.8 MB to 17.2 MB across the reporting device profiles, so the build differs substantially between them.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (16)
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_COARSE_LOCATION |
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location. |
ACCESS_FINE_LOCATION |
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage. |
BATTERY_STATS |
Signature or privileged system permission. |
BLUETOOTH_ADVERTISE |
Allows the app to advertise to nearby Bluetooth devices |
BLUETOOTH_CONNECT |
Allows the app to connect to paired Bluetooth devices |
BLUETOOTH_SCAN |
Allows the app to discover and pair nearby Bluetooth devices |
CAMERA |
This app can take pictures and record videos using the camera while the app is in use. |
ENTER_TRADE_IN_MODE |
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. |
OTHER_SENSORS |
- |
READ_DEVICE_CONFIG |
Signature-level system permission, for platform-signed apps. |
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. |
SYSTEM_ALERT_WINDOW |
This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear. |
VIBRATE |
Allows the app to control the vibrator. |
com.android.devicediagnostics.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
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 |
| 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 10 Pro | Android 17 | 1 | 26 Jul 2026 | ||
| Pixel 6 | Android 16 | - | 1 | 13 Oct 2025 | |
| Pixel 6 Pro | Android 15 | - | 9 | 23 Jun 2025 | |
| Pixel 7 Pro | Android 16 | 1 | 9 Mar 2026 | ||
| Pixel 8 | Android 16 | - | 4 | 3 Jun 2026 | |
| Pixel 8a | Android 15 | - | 1 | 5 Oct 2025 | |
| Pixel 9 Pro XL | Android 16 | 21 | 29 Mar 2026 | ||
| Pixel 9 Pro XL | Android 17 | 2 | 28 Jul 2026 | ||
| Pixel 9a | Android 15 | - | 1 | 15 Jun 2025 | |
| Pixel 9a | Android 16 | 6 | 2 Jun 2026 | ||
| Pixel 9a | Android 17 | - | 1 | 16 Jul 2026 | |
| sdk_gphone16k_arm64 | Android 16 | 2 | 6 Feb 2026 | ||
| sdk_gphone64_arm64 | Android 16 | - | 5 | 2 Dec 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 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 | motorola edge 50 fusion | Android 15 | OEM Motorola | 12 | 9 Jun 2026 |
| Motorola | motorola edge 50 fusion | Android 16 | OEM Motorola | 2 | 10 Jun 2026 |
| Motorola | ThinkPhone by motorola | Android 15 | - | 1 | 11 Oct 2025 |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| Nothing | A063 | Android 15 | OEM Nothing | 1 | 22 Apr 2026 |
| OnePlus | CPH2653 | Android 16 | - | 1 | 24 Nov 2025 |
| OUKITEL | C59 Pro | Android 15 | - | 1 | 6 Nov 2025 |
| OUKITEL | WP100 TITAN | Android 15 | - | 1 | 6 Dec 2025 |
| OUKITEL | WP60 | Android 15 | OEM OUKITEL | 3 | 9 Dec 2025 |
| Samsung | SM-A266B | Android 15 | - | 2 | 21 Aug 2025 |
| Samsung | SM-A266B | Android 16 | - | 1 | 26 Jan 2026 |
| Samsung | SM-A346B | Android 15 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-A536B | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A556B | Android 15 | - | 1 | 1 Jul 2025 |
| Samsung | SM-A566B | Android 16 | - | 2 | 4 Nov 2025 |
| Samsung | SM-F721B | Android 15 | - | 1 | 9 Jul 2025 |
| Samsung | SM-F766B | Android 16 | - | 1 | 11 Nov 2025 |
| Samsung | SM-G766B | Android 15 | - | 1 | 17 Oct 2025 |
| Samsung | SM-G991B | Android 15 | OEM Samsung | 1 | 19 Apr 2026 |
| Samsung | SM-S721U | Android 15 | - | 5 | 5 Aug 2025 |
| Samsung | SM-S906B | Android 15 | - | 1 | 2 Jun 2025 |
| Samsung | SM-S908U | Android 16 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-S921B | Android 15 | OEM Samsung | 2 | 22 Jul 2025 |
| Samsung | SM-S921B | Android 16 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-S921U | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-S926B | Android 16 | OEM Samsung | 1 | 14 Apr 2026 |
| Samsung | SM-S928B | Android 16 | OEM Samsung | 2 | 12 Jun 2026 |
| Samsung | SM-S928U1 | Android 15 | - | 1 | 12 Sep 2025 |
| Samsung | SM-S931B | Android 15 | - | 1 | 20 Sep 2025 |
| Samsung | SM-S931B | Android 16 | - | 1 | 23 Nov 2025 |
| Samsung | SM-S936B | Android 16 | - | 1 | 18 Dec 2025 |
| Samsung | SM-S937B | Android 15 | - | 1 | 25 Aug 2025 |
| Samsung | SM-S938B | Android 15 | - | 2 | 25 Aug 2025 |
| Samsung | SM-S942B | Android 17 | OEM Samsung | 1 | 25 May 2026 |
| Samsung | SM-T636B | Android 15 | - | 2 | 12 Oct 2025 |
| Samsung | SM-X716B | Android 15 | - | 1 | 27 Jun 2025 |
| Samsung | SM-X910 | Android 15 | - | 1 | 12 Sep 2025 |
| TCL | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
| TCL | T951K | Android 15 | OEM TCL | 8 | 8 Jan 2026 |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
| Urao | X108 | Android 16 | OEM URAO | 1 | 3 Jun 2026 |
| Xiaomi | 23106RN0DA | Android 15 | - | 1 | 22 May 2025 |
| Xiaomi | 23124RA7EO | Android 15 | - | 1 | 17 Jun 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 |
|---|---|---|
| DeviceDiagnostics | en-us | 74 |
| DeviceDiagnostics | en | 34 |
| DeviceDiagnostics | en-gb | 34 |
| DeviceDiagnostics | nl-NL | 17 |
| Gerätediagnose | de-at | 10 |
| DeviceDiagnostics | nl-nl | 7 |
| DeviceDiagnostics | en-GB | 6 |
| Diagnostica dispositivo | it-IT | 5 |
| DeviceDiagnostics | 4 | |
| DeviceDiagnostics | en-mt | 3 |
| DeviceDiagnostics | en-nl | 3 |
| Gerätediagnose | de-de | 3 |
| DeviceDiagnostics | es-us | 2 |
| DeviceDiagnostics | en-US | 2 |
| DeviceDiagnostics | en-au | 2 |
| DeviceDiagnostics | vi-VN | 2 |
| DeviceDiagnostics | vi-vn | 2 |
| Diagnostica dispositivo | it-it | 2 |
| Enhetsdiagnostik | sv-SE | 2 |
| DeviceDiagnostics | en-de | 1 |
| DeviceDiagnostics | en-ca-u-fw-mon-mu-celsius | 1 |
| DeviceDiagnostics | en-bd | 1 |
| DeviceDiagnostics | en-BD | 1 |
| DeviceDiagnostics | en-us-u-fw-mon-ms-ussystem-mu-fahrenhe | 1 |
| Diagnostyka urządzenia | pl-PL | 1 |
| Diagnostyka urządzenia | pl-pl | 1 |
| Enhetsdiagnostik | sv-se | 1 |
| Диагностика устройства | ru-ru | 1 |
| デバイス診断 | ja-jp | 1 |