Skip to content

Delete pre‐installed apps

Bùi Minh Đức edited this page Sep 28, 2024 · 2 revisions

Phone manufacturers often include apps with advertisements or free trials in KaiOS to gain profit from these low-cost devices. As such, uninstalling those "bloatwares" is a common practice for many people.

Before you start, make sure you have a debug-enabled KaiOS 2.5 phone, and that you have learned how to sideload apps.

AppBuster

AppBuster uses navigator.mozApps.mgmt.setEnabled API to hide apps you don't need from the app list and later re-enable them if you change your mind. It does not require engmode-extension permission, thus bypass devtools.apps.forbidden-permissions on KaiOS 2.5.4 devices.

Changes are only made on /userdata, thus does not affect OTA updates and can be undone with a factory reset.

To start, download AppBuster as a ZIP package and sideload on your phone. Once the app opens, use the Up/Down D-Pad key to navigate through the list of apps, and press the number keys associated with ones that you want to hide.

Press # to apply, follow the prompt and reboot your device by holding down the Power key. On KaiOS 2.5.3 and later, you can do a Deep Memory Cleaning which restarts B2G and results in the same effect.

To re-enable the apps, repeat the instructions but remove the strikes.

Wallace Toolbox

WIP

Manually

Warning

Back up the system partition before proceeding. This will make permanent changes to your filesystem, which a factory reset cannot undo.

If you wish to permanently remove the apps by making changes to the system partitions:

First, grant yourself temporary root access in ADB shell. Install Busybox with OmniBB if you don't have one installed, then open Wallace Toolbox, press 1 and proceed when you see "Rooted ADB access until reboot".

Connect your phone to the computer with ADB installed and execute this to list all apps on the /system partition:

$ adb devices
* daemon not running; starting now at tcp:5037  
* daemon started successfully  
List of devices attached  
c6209c78        device

$ adb shell ls /system/b2g/webapps
...

Once you determine which app you want to remove, execute this to grant yourself read-write access to /system:

$ adb shell mount -o rw,remount /system
$ adb shell
root@Nokia 2720 Flip:/ # cd /system/b2g/webapps
root@Nokia 2720 Flip:/system/b2g/webapps # ls -la [app.gaiamobile.org/]
-rw-r--r-- root     root      2039242 2008-12-31 23:00 application.zip
-rw-r--r-- root     root          478 2008-12-31 23:00 manifest.webapp
root@Nokia 2720 Flip:/system/b2g/webapps # chmod -R 664 [app.gaiamobile.org/]
root@Nokia 2720 Flip:/system/b2g/webapps # ls -la [app.gaiamobile.org/]
-rw-rw-r-- root     root      2039242 2008-12-31 23:00 application.zip
-rw-rw-r-- root     root          478 2008-12-31 23:00 manifest.webapp
root@Nokia 2720 Flip:/system/b2g/webapps # rm -r [app.gaiamobile.org/]
root@Nokia 2720 Flip:/system/b2g/webapps # exit
$ adb shell mount -o ro,remount /system
$ adb shell pull /data/local/webapps/webapps.json
/data/local/webapps/webapps.json: 1 file pulled, 0 skipped. 2.0 MB/s (121414 bytes in 0.058s)
$ adb push webapps.json /data/local/webapps
webapps.json: 1 file pushed, 0 skipped. 89.4 MB/s (120424 bytes in 0.001s)
$ adb reboot