[Miscellaneous Android Development] cfkf:
I wanted to share my experience with rooting and debloating because it might be of some use to somebody.

I followed this guide here https://xdaforums.com/t/release-palm-debloat-fixes-script-2020-03-11.4052477/post-83354187 which effectively summarizes most of the other stuff that has been said here.

As far as rooting goes, everything went smoothly and I did not encounter any setbacks. Just follow the instructions in the linked post above.

Debloating was a bit more of a hassle. The instructions above are largely correct but for me they were incomplete.

1. To do this on Windows, BEFORE installing the Ubuntu emulator from the store, you have to enable the Windows Subsystem for Linux through your settings. Settings > Apps > Programs and Features > Click the Turn Windows features on or off option from the left pane > Check the Windows Subsystem for Linux option > click OK and reboot. If you don't do this first, your Ubuntu emulator simply will not work and crash on startup.

2. After you install the Ubuntu emulator on Windows, the first thing you have to do is to run Ubuntu directly from the start menu (on the first run it installs some extra stuff) before you continue activating ADB in Ubuntu etc.

3. My Linux shell (running on Windows) did not detect my device when doing adb devices as mentioned in the instructions. When trying bash exec.sh it did nothing. However, when I ran adb start-server and adb devices in Windows' Powershell, the device was detected, but you can't do bash in Powershell (so I learnt) so I was stuck. To resolve this:

First, in Powershell

- adb start-server

- adb devices and make sure your device is detected

- adb tcpip 5555 (don't ask me what this does)

Then, in Linux Shell

- adb connect [phone IP]:5555 (phone IP is without brackets of course, to find it in your Palm go to Settings > System > About device > status) - don't ask me what this is for either, but it kills the server started in the previous step, relaunches a new one, and connects the device

- adb devices and you should see your device and be able to continue the process with bash exec.sh

4. When running the script, at a certain point you are asked to run adb shell and then do some su command. When I did the su command, I was denied permission. This means that your shell doesn't have superuser rights. Normally, Magisk should prompt you on your phone to grant permissions, but mine did not. I did get a message on my phone each time I tried the su command saying "shell has been denied superuser permissions". I was at pains to find how to grant this, actually it's very easy: open Magisk Manager and click the shield icon in the bottom. It should show all apps that have asked superuser rights. It should contain shell, with permissions disabled. Simply click the slider to enable.

So that was that.

Something else: it seems that the debloat script does not remove all bloatware:

Gmail, Youtube, the default Google messaging app, Google Play videos, "Google", Google Drive/Docs, Google Photos, Chrome, Maps and Calendar were all still around. So was (Google) Carrier Services. On my European device, also Facebook, Instagram, Pleksy keyboard.

There's also the standard google Phone app and the Contacts app but I'm not sure you can do without those.