Package
com.google.android.retaildemo
Retail Demo
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, and that single certificate is consistent across all 5 device profiles.
- Its largest observed manifest declares 52 permissions: 7 runtime (user-granted), 22 signature or system-level, 14 install-time and 9 vendor or uncatalogued.
- APK size ranges from 2.6 MB to 30.7 MB across the reporting device profiles, so the build differs substantially between them.
- Reported as an updated system app on 13 of 5 profiles - a newer build is installed over the one in the system image there.
Declared permissions (52)
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_BLOBS_ACROSS_USERS |
Signature or privileged system permission. |
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. |
ACCESS_LOCAL_NETWORK |
- |
ACCESS_NETWORK_STATE |
Allows the app to view information about network connections such as which networks exist and are connected. |
ACCESS_WIFI_STATE |
Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices. |
CHANGE_COMPONENT_ENABLED_STATE |
Signature or privileged system permission. |
CHANGE_CONFIGURATION |
Signature or privileged system permission. |
CHANGE_OVERLAY_PACKAGES |
Signature or privileged system permission. |
CHANGE_WIFI_STATE |
Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks. |
DELETE_PACKAGES |
Signature or privileged system permission. |
DOWNLOAD_WITHOUT_NOTIFICATION |
- |
FOREGROUND_SERVICE |
Allows the app to make use of foreground services. |
FOREGROUND_SERVICE_SYSTEM_EXEMPTED |
Allows the app to make use of foreground services with the type "systemExempted" |
GET_ACCOUNTS |
Allows the app to get the list of accounts known by the phone. This may include any accounts created by applications you have installed. |
GET_PACKAGE_SIZE |
Allows the app to retrieve its code, data, and cache sizes |
INSTALL_PACKAGES |
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_ACCOUNTS |
Install-time permission, granted automatically. docs ↗ |
MANAGE_EXTERNAL_STORAGE |
Signature-level system permission, for platform-signed apps. docs ↗ |
MANAGE_USERS |
Signature or privileged system permission. |
MODIFY_DAY_NIGHT_MODE |
Signature or privileged system permission. |
MODIFY_PHONE_STATE |
Signature or privileged system permission. |
OBSERVE_APP_USAGE |
Signature or privileged system permission. |
PACKAGE_USAGE_STATS |
Signature or privileged system permission. |
POST_NOTIFICATIONS |
Allows the app to show notifications |
PROVISION_DEMO_DEVICE |
Signature-level system permission, for platform-signed apps. |
QUERY_ALL_PACKAGES |
Allows an app to see all installed packages. |
QUERY_USERS |
Signature or privileged system permission. |
READ_CALL_LOG |
This app can read your call history. |
READ_PHONE_STATE |
Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call. |
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
REAL_GET_TASKS |
Signature or privileged system permission. |
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. |
SCHEDULE_EXACT_ALARM |
This app can schedule work to happen at a desired time in the future. This also means that the app can run when you\u2019re not actively using the device. |
SET_TIME_ZONE |
Allows the app to change the phone's time zone. |
SET_WALLPAPER |
Allows the app to set the system wallpaper. |
START_ACTIVITIES_FROM_BACKGROUND |
Signature or privileged system permission. docs ↗ |
START_FOREGROUND_SERVICES_FROM_BACKGROUND |
Signature or privileged system permission. |
USE_EXACT_ALARM |
This app can schedule actions like alarms and reminders to notify you at a desired time in the future. |
USE_LOOPBACK_INTERFACE |
- |
WAKE_LOCK |
Allows the app to prevent the phone from going to sleep. |
WRITE_CALL_LOG |
Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log. |
WRITE_SECURE_SETTINGS |
Signature or privileged system permission. |
WRITE_SETTINGS |
Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration. |
WRITE_SYNC_SETTINGS |
Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account. |
com.google.android.apps.pixel.factoryota.permission.CONFIG_RESULT |
- |
com.google.android.apps.retaildemo.permission.FACTORY_CONFIG_QUERY |
- |
com.google.android.apps.retaildemo.permission.RETAILDEMO_COMMUNICATION |
- |
com.google.android.gms.permission.AD_ID |
- |
com.google.android.pixelsystemadapter.permission.ACCESS_RETAIL_DEMO_SERVICE |
- |
com.google.android.providers.gsf.permission.READ_GSERVICES |
- |
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 |
|---|---|---|---|---|---|
| Pixel 10 Pro | Android 16 | 1 | 26 Mar 2026 | ||
| Pixel 10 Pro | Android 17 | 1 | 1 Jun 2026 | ||
| Pixel 7 Pro | Android 16 | 1 | 9 Mar 2026 | ||
| Pixel 8 | Android 16 | - | 4 | 1 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 | 2 Jun 2026 | ||
| Pixel 9a | Android 15 | - | 1 | 15 Jun 2025 | |
| Pixel 9a | Android 16 | - | 4 | 28 Nov 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| com.google.android.retaildemo | en-us | 23 |
| com.google.android.retaildemo | nl-NL | 12 |
| Retail Demo | en | 9 |
| Retail Demo | en-gb | 6 |
| Retail Demo | en-GB | 4 |
| com.google.android.retaildemo | nl-nl | 3 |
| Retail Demo | 1 | |
| com.google.android.retaildemo | en-us-u-fw-mon-ms-ussystem-mu-fahrenhe | 1 |
| com.google.android.retaildemo | en-gb | 1 |
| com.google.android.retaildemo | en-ca-u-fw-mon-mu-celsius | 1 |