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:

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.

  1. Devices without a Modem can be used as a “WiFi only” device (like an iPod touch compared to an iPhone)
  2. Retailers can support customers or demo functionality on the device without being interrupted or restricted by the mode.
  3. 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:

adb shell am start -S ""

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.

adb shell pm uninstall -k --user 0 com.huawei.retaildemo

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.

pm list packages | grep "huawei"

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:

adb shell pm uninstall -k --user 0 com.huawei.experience.sne

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.

How to remove the persistent notification

The command line alternative is to use pm to clear SystemUI.

adb shell pm clear

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.