This hack is safe meaning no changes are made to
/system
partition and changes are reverted back after factory reset or after an OTA update
Now that we have temporary root tools we can uninstall pre-installed apps without loosing OTA-updates. All the apps are installed on the /data
partition, even the pre-installed (the app copies on /system
are only the "installation-media").
There are two ways, debending on the use of the "telnet" protocol or a direct root access (using ADBroot or Wallace/Wallace Tootlbox).
Learn more about Telnetd, ADBroot, Wallace and all the temporary root apps:
temporary root
Get a temporary root access using Telnetd app
Get the webapps.json
file from the /data
partition:
adb shell
busybox telnet localhost
cp /data/local/webapps/webapps.json /sdcard/
exit
exit
adb pull /sdcard/webapps.json
Open webapps.json
with a text-editor which preserve the line-endings (on Windows you can use Notepad++ which is free and free and lightweight). For every app you might want to uninstall, change the field/line "removable": false,
to "removable": true,
Push the webapps.json on /data/local/tmp
:
adb push webapps.json /data/local/tmp
webapps.json
:adb shell
busybox telnet localhost
cd /data/local/webapps
cp webapps.json webapps.json_bak
rm webapps.json && cp /data/local/tmp/webapps.json . && chmod 600 webapps.json && chown root:root webapps.json
ls -la webapps.json
should respond with something like this
-rw------- root root 57563 2019-03-23 15:58 webapps.json
Date and time may differ, but the -rw------- root root
part needs to be exact!
adb reboot
After the reboot the apps are still there, but the "options" menu of the app-drawer now allows you to uninstall them in a clean way like any other app!
Because we didn't modified the system
partition:
OTA Updates are not prevented and will work
Pre-installed apps will re-install on a factory-reset
But until factory-reset the apps are gone and the space on /data
is freed.
Get a temporary root access using Wallace, Wallace Toolbox or ADBRoot, unlike the previous method, these apps allows you a direct root shell access
Get the webapps.json file from the /data
partition:
adb pull /data/local/webapps/webapps.json_
doing a backup of this file is recommended, from Linux / macOS:
cp webapps.json webapps.json.bak_
from Windows (PowerShell), assuming ADB is installed in "C":
Copy-Item -Path C://webapps.json -Destination C://webapps.json.bak
Open webapps.json
with a text-editor which preserve the line-endings (on Windows you can use Notepad++). For every app you might want to uninstall, change the field/line "removable": false,
to "removable": true,
Push the webapps.json
on /data/local/webapps
:
adb push webapps.json /data/local/webapps/
adb reboot
After the reboot the apps are still there, but the "options" menu of the app-drawer now allows you to uninstall them in a clean way like any other app!
But until factory-reset the apps are gone and the space on /data is freed.
All credits to Luxferre
A new version of the versatile Wallace Toolbox utility, 0.0.6, allows to remove all unnecessary pre-installed/system apps from the standard menu.
All the changes can be reverted with a simple factory reset.
Tested on Nokia 2720 Flip (video) but can work on any KaiOS device with Busybox present (and even where it isn't present, it can be easily installed with OmniBB or similar utility program).
Download it from here: