Making a Huawei/Honor live demo unit useable
What are “Live Demo Units”?
“Retail Units” or “Live Demo Units” are the devices you see in shops or on display. You can spot them very easy:
- Does it play an ad instead of a lock screen?
- Does it factory reset itself every few hours?
- Are SIM cards not recognized?
Not all of these questions must be answered with yes. “Retail Units” differ hugely depending on the manufacturer, the model, and the configuration. Samsung “Live Demo Units” often come without a baseband, meaning that you can’t use a SIM card. These can be unlocked and flashed. (Be cautious with ROMs that include a baseband/modem firmware, these can brick your device and make WiFi and/or Bluetooth unuseable.) Flashing the device or removing the “Retail Mode” has a few benefits.
- Devices without a Modem can be used as a “WiFi only” device (like an iPod touch compared to an iPhone)
- Retailers can support customers or demo functionality on the device without being interrupted or restricted by the mode.
- Device Settings and/or custom content doesn’t get removed automatically.
This small guide is specific for new Huawei/Honor devices. I use a Mate 20 lite as an example. I highly recommend, even with the mentioned upsides, not to sell these devices. They are usually subsidized by the manufacturer and often have still persisting discrepancies. One example could be the lack of a lock screen or a persistent notification.
Removing the “Retail Mode”
The “Retail Mode” App is set as a Device Admin. Therefore we need to disable it as an administrator before we can remove it. To do so, open up device administrator settings. You can navigate there via the command:
Once the command succeeded and we removed the “Retail Mode” as an Admin, we can use Androids package manager pm
to remove it. Since its a system app we can’t remove the app completely (we are not root), however, we can uninstall it for the user account. The user account with the ID “0” is in most cases the right one.
Once done, we have successfully removed the video playback and the automatic device-reset. Sometimes there are device specific changes left and a demo app. To determine what the package name could be we can list all packages that are installed and use grep
to filter.
We have to look at the results and decide which package is most likely the one we want to remove. In this instance, I found an App called “Huawei Experience” and a corresponding package name com.huawei.experience.sne
.
To remove the package we just have to enter the following command:
Now we have to find workarounds for not removable retail “features”, like the persistent notification that informs about the retail mode.
The notification is baked into SystemUI
. While we can modify the SystemUI.apk
, we can not put it back where it belongs, because we are not root. The Android build in feature, to disable notifications, does not work on SystemUI
. The workaround here is to “Force Stop” the process after boot.
The command line alternative is to use pm
to clear SystemUI.
Sadly this is not persistent and has to be redone after every reboot.
The full script can be found here.
Important: I strongly recommend to stay away from Huawei/Honor devices. The Bootloader is not officially unlockable and Huawei’s decisions are anti-consumer.
If you have feedback, more information or a correction please send an email to feedback[at]jrtberlin[dot]de
.