Got tired and decided to got rid of all unnecessary applications that come with the Honor 7x without rooting it. Not even unnecessary but annoying too. Things like Huawei Store, when Google Play store or even F-Droid will do the job, or a "smart controller" app so you can control your TV from your phone. That's not what I need and uninstalling them from the phone is not possible. After some searching I came accross this post which list all bloatware coming from Huawei, Google or even Android. It's an easy-to-follow method but very dangerous, so be careful youngster. This is just a notedpad I'm using to remember what I did and as future reference. Most of the commands shown in this post will be executed through Android's shell after login via adb shell.

Notes from a newbie

pm

This command was kind of obscure as well as other Android commands. You have three choices: follow blindly to whatever post you see on The Web(tm), check out some cheat sheets or just read the Android source code for whatever version are you using (8.0 in this case), it's up to you. In most of the cases the guides will use the --user 0 parameter. This defines on what user to look for a specific package. You can check what user are you running by issuing am get-current-user or pm list users and then get the list for that user running pm list packages --user {id}.

Other packages removed

Some packages which do not appear on the list of Huawei apps, in the post previously shared, or not actually from Huawei were removed in the process:

com.hicloud.android.clone
com.huawei.android.totemweatherapp
com.android.backupconfirm
com.android.dreams.basic
com.android.dreams.phototable
com.android.egg
com.android.managedprovisioning
com.android.pacprocessor
com.android.providers.partnerbookmarks
com.android.chrome
com.android.stk
com.android.vpndialogs
com.android.wallpapercropper
com.android.wallpaper.livepicker
com.android.wallpaperbackup
com.android.wallpaper.livepicker
com.huawei.HwMultiScreenShot
com.google.android.tts
com.android.cellbroadcastreceiver
com.android.soundrecorder
com.android.calendar
com.android.email
com.example.android.notepad
com.android.bips
com.huawei.hidisk
com.google.android.videos
com.google.android.apps.docs.editors.docs
com.google.android.apps.docs.editors.sheets
com.google.android.apps.docs.editors.slides
com.google.android.apps.authenticator2
com.google.android.apps.work.oobconfig
com.google.android.apps.maps
com.android.printspooler
com.android.mediacenter
com.google.android.music
com.huawei.geofence
com.android.deskclock
com.huawei.bluetooth
com.android.providers.blockednumber
com.android.mms.service
com.android.mms
com.android.gallery3d
com.android.exchange
com.hisi.mapcon
com.android.calculator2
com.google.android.marvin.talkback
com.google.android.printservice.recommendation
com.huawei.nearby
com.huawei.android.instantshare
com.huawei.scanner
com.huawei.hiviewtunnel
com.huawei.hiview
com.huawei.KoBackup
com.huawei.tips
com.huawei.recsys
com.huawei.synergy

Post-deletion

After that the phone was a little bit healthier and happier. At this point you can stop here and let it be. Installed F-Droid and next step was to get a much more simple home screen/launcher. I was looking for something FOSS and minimalistic and found two interesting options: Light Android Launcher and Slim launcher. LAL was my last choice as it was simple but flexible enough as Slim was a more productive-focused launcher. To use LAL you'll need to remove com.huawei.android.launcher in order to set it as default launcher. Replaced the default Gboard keyboard for Simple Keyboard and removed the first one (com.google.android.inputmethod.latin). Removed the Files app (com.android.documentsui) and replaced it with File manager along with Dialer, Contacts, SMS/MMS and Gallery coming from Simple Mobile Tools. Chrome was replaced with Firefox Focus after some thinking (previously a Brave mobile user) and MinimaList replaced for Goodtime.

Recovery

If you come across an issue, though, it should be recuperable by performing a factory reset:

  1. With USB debugging enable, connect the cellphone to the computer.
  2. Run adb reboot recovery to get the phone to recovery mode.
  3. Wipe data/factory reset should do the trick.
  4. Back to square one.

Not so drastic move

Another thing to note is that it is not necessary to remove these applications as they can be disabled by using pm disable-user which will flag the application as COMPONENT_ENABLED_STATE_DISABLED_USER for that specific user.

Final words

In no world this is the perfect setup nor the perfect procedure. This is the device I have at hand and there are no intentions on changing it if it's still working. Also, seeing better options like the Librem 5 at $799 doesn't help. So try whatever I highlighted here at your own risk and ping me if you have any suggestion.

Updates