Magisk Module Systemless Debloater (REPLACE)

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
Can somebody dhare his debloat app list? Or the best, .sh file? İt would be great :)
In the post #1 there are Installation instructions, it describes how the module will first time create SystemlessDebloaterList.sh file with an empty DebloatList

In the post #3 you have my DebloatList= example for MIUI, you just need to copy/paste that list into the file instead of the empty list there

I didn't think it would be too complicated, but ok, my SystemlessDebloaterList.sh is attached but you need to rename its txt extension into sh (XDA does not allow attaching sh files)

It's a textual file and it can be edited by a text editor like with MiXPlorer
 

Attachments

Last edited:

SUMMERBREEZE

Senior Member
Oct 3, 2010
1,289
283
103
ISTANBUL
In the post #1 there are Installation instructions, it describes how the module will first time create SystemlessDebloaterList.sh file with an empty DebloatList

In the post #3 you have my DebloatList= example for MIUI, you just need to copy/paste that list into the file instead of the empty list there

I didn't think it would be too complicated, but ok, my SystemlessDebloaterList.sh is attached but you need to rename its txt extension into sh (XDA does not allow attaching sh files)

It's a textual file and it can be edited by a text editor like with MiXPlorer
Thank you, you are a star :good:
 

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
Updated SystemlessDebloater module, v1.36:
https://mega.nz/file/08tjyILZ#Qd2piiAOPXB9J9HPP4SIXf-6PHEJdgDZ2n7ULiNrKvI

Changes:
- Trimming DebloatList of duplicates before printing to SystemlessDebloater.log and searching for system installation paths
- Alphabetically sorting REPLACE list paths
- DebloatedList added to SystemlessDebloater.log, trimmed of duplicates and sorted alphabetically, containing only apps found for debloating; it can be renamed to DebloatList and copied back to SystemlessDebloaterList.sh for a cleaned-up input

Also, DebloatList in post #3 is revised:
- Removed MiWallpaper (if debloated, Settings / Wallpaper could not be opened)
- Added few more apps and services from MIUI 12, A10 stock for debloating

Added also DebloatList I'm using now for Xiaomi.eu weekly
 
Last edited:

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
Will it work for Samsung Note 20 Ultra?
I don't have your phone, but if Magisk supports your phone it should work.
You can see that it worked for A10 and A11, A/B SAR - btw, you didn't mention what is your Android version, SAR type, etc, things that are more important for Magisk than the name of the phone

Post #1 provides a detailed explanation how to install and troubleshot, hence you can try ?
 

ssojyeti2

Senior Member
Jan 27, 2011
3,373
2,945
0
Miami
For some reason the module doesn't show up in the list of my installed modules after I add it, but it does remove several apps like notes and weather

Edit: just realized I installed an old version of this module, 1.2. Installed new version and it works great
 
Last edited:

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
For some reason the module doesn't show up in the list of my installed modules after I add it, but it does remove several apps like notes and weather

Edit: just realized I installed an old version of this module, 1.2. Installed new version and it works great
Just please which phone, firmware and Android version.
If not a problem you could upload its log from Download
Thanks
 

ipdev

Senior Member
Feb 14, 2016
1,186
1,216
133
Will it work for Samsung Note 20 Ultra?
It works across device platform and rom.
arm/arm64, SAR/Non-SAR, Slot/Non-Slot.

You just need to create/edit the SystemlessDebloaterList.sh file to remove/disable the pre-installed app(s).

I have tested this module on Google Nexus/Pixel, OnePlus, and Xiaomi devices.
Stock and custom roms from Android 9 to 11.
I will test on lower Android versions when I have time but, it should not make a difference.

For those on LineageOS 17.1 these are the names that correspond to the pre-installed apps.

# Browser = Jelly
# Calculator = ExactCalculator
# Calendar = Etar
# Email = Email
# Clock = DeskClock
# Music = Eleven


Cheers all. :cowboy:
 

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
New version v1.37:
https://mega.nz/file/88chwS5Z#XvGvw3GYtFzvU8LJnoAFzxAu4QhGaRDUuOABJBcjzog

Change log:

Added logging of package names for debloated apps, like:
/system/app/EasterEgg (com.android.egg) - debloat

Package name will not be logged, like:
/system/product/priv-app/Velvet - debloat
if debloater cannot find/match package name with the app name:
- app not found on the /system (hence not debloated)
- app already debloated (hence no more active corresponding package)
- /system app found and debloated but app was already updated to /data (hence corresponding package refers to the app installation on /data)
 
Last edited:
  • Like
Reactions: dr4go

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
could somebody be able to debloat youtube?, appear in the log that the app cant be found.
You need to find do you really have stock YT app on /system:
1) Settings, Apps, YouTube, Uninstall (updates)
2) Package Manager (install from Playstore), search for youtube, it will find under which name and in which system folder was installed (if it was)

But (1) is important to get rid of YouTube installation on /data

Instead of (2) (also, after (1)), you can execute from Terminal app (copy/paste the command):
su -c "pm list packages -f |grep youtube"
and it will show you the path and apk name where is it installled
 
Last edited:

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
Debloated also Mi 9T, Xiaomi.eu beta v20.12.10,
MiUI 12.3 / Android 11, with the following list

DebloatList="
AndroidAutoStub
BookmarkProvider
Browser
BTProductionLineTool
Calculator
CatchLog
CneApp
EasterEgg
GoogleFeedback
GooglePartnerSetup
Health
Joyose
Lens
MiMover
MiPlayClient
MiRecycle
MiService
MiuiBugReport
MiuiDaemon
mi_connect_service
Notes
PaymentService
PersonalAssistant
SoterService
Stk
TouchAssistant
Traceur
Velvet
VsimCore
WebViewGoogle
wps-lite
"
 
  • Like
Reactions: dr4go and ipdev

derei

Senior Member
Jun 22, 2013
107
3
38
Not sure I understand fully how to use this app... so please level with me here:
Do I have to *know* the names of all the apps that i want to debloat in my phone and then manually type them into that list? If so, how do I obtain a list of apps present in my phone?

If you ask me, this is a very bad implementation of a debloater app. Firstly it goes against everything a computer is meant to be: to spare humans of tedious and repetitive tasks. Secondly, it requires a third party solution for finding out all app names ant third,it requires tedious manual input from the user of all the names of the apps one wishes to remove. Typing erroes are something common (see what I did here?) ...

Now, I'm not totally saying that a log-based debloater is a bad thing, but why don't you make your app to generate a list of all apps in the phone, grouped on categories (system/vendor/...) and only require from the user to comment (or uncomment) the app one wants removed in that existing list? Finally, the app could run this list and perform the required operations...

Honestly, the other debloater module that was using a command line interface was way better implemented. Perhaps you'll get inspired and follow the same route. Or even better, perhaps you would like to fork and maintain that one, as the original author has stopped maintaining it.
 

ipdev

Senior Member
Feb 14, 2016
1,186
1,216
133
Not sure I understand fully how to use this app... so please level with me here:
Do I have to *know* the names of all the apps that i want to debloat in my phone and then manually type them into that list? If so, how do I obtain a list of apps present in my phone?

If you ask me, this is a very bad implementation of a debloater app. Firstly it goes against everything a computer is meant to be: to spare humans of tedious and repetitive tasks. Secondly, it requires a third party solution for finding out all app names ant third,it requires tedious manual input from the user of all the names of the apps one wishes to remove. Typing erroes are something common (see what I did here?) ...

Now, I'm not totally saying that a log-based debloater is a bad thing, but why don't you make your app to generate a list of all apps in the phone, grouped on categories (system/vendor/...) and only require from the user to comment (or uncomment) the app one wants removed in that existing list? Finally, the app could run this list and perform the required operations...

Honestly, the other debloater module that was using a command line interface was way better implemented. Perhaps you'll get inspired and follow the same route. Or even better, perhaps you would like to fork and maintain that one, as the original author has stopped maintaining it.
Hi.:)

Honestly, this kind of modification (even though it is systemless), can cause minor to major problems if handled incorrectly.
So learning about the apps you want to remove, what they interact with and what interacts with them is a good idea.

Yes, you will need to manually create/edit/maintain your SystemlessDebloaterList.sh file.
Think of it as a custom setup config file.

This module uses Magisk's Easy Replace option to hide apps so they are not loaded during boot.
Magisk (Module Tricks) GitHub - Link
Magisk (Easy Replace) GitHub - Link

--

Preinstalled apps can change names over time, not to mention vendor/manufacture and rom.

As example, you can take look at the removal list for OpenGApps.
OpenGApps installer script (Line 171) GitHub - Link
You can see how many names and locations of preinstalled apps they have collected through the years.

The great thing about this module is you only need the name, it will search across the common directories (folders).
If an app changes from system/app to product/priv-app it will still be found.

Once you create a DebloaterList file, you can keep updating/modifying it and use it across devices and/or roms.
Just like other config scripts, you may need to adjust it per device.

As I mentioned in a prior post, no harm checking for apps that do not exist on the device.
It may cause extra lines in the log file and a few seconds of install time.

I uploaded the last file I used as example-SystemlessDebloaterList.sh to my GoogleDrive. Link
If you take a look at it, you can see I wanted to keep Google Quick Search (Velvet) so I just added a # to the name instead of deleting the line. You could add any character to the name, like your typo example, the app will not be found.

There is also a script called list_pfiles.sh that will generate a list of files located in app and/or priv-app of system, product and vendor.
Feel free to use it if you want.
Remember copy and past is your friend. Great defense against ytpos. 🙃
See the bottom half of this post if you want to use the list_pfiles script. xda post - Link

Cheers. :cowboy:
 
Last edited:
  • Like
Reactions: zgfg

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
Not sure I understand fully how to use this app... so please level with me here:
Do I have to *know* the names of all the apps that i want to debloat in my phone and then manually type them into that list? If so, how do I obtain a list of apps present in my phone?

If you ask me, this is a very bad implementation of a debloater app. Firstly it goes against everything a computer is meant to be: to spare humans of tedious and repetitive tasks. Secondly, it requires a third party solution for finding out all app names ant third,it requires tedious manual input from the user of all the names of the apps one wishes to remove. Typing erroes are something common (see what I did here?) ...

Now, I'm not totally saying that a log-based debloater is a bad thing, but why don't you make your app to generate a list of all apps in the phone, grouped on categories (system/vendor/...) and only require from the user to comment (or uncomment) the app one wants removed in that existing list? Finally, the app could run this list and perform the required operations...

Honestly, the other debloater module that was using a command line interface was way better implemented. Perhaps you'll get inspired and follow the same route. Or even better, perhaps you would like to fork and maintain that one, as the original author has stopped maintaining it.
First, this is not an app but Magisk module

Second, yes, you are debloating your phone, it can be any phone with any system 'bloat' you want to remove - hence you are responsible to know what you want to debloat, hence you have to list the names of apps you want to debloat.
If you did carefully read the OP post you will see how you can check the names (but you need to e.g. google around to learn does it have consequences if you remove certain service), and more important it is also described how you can experiment and recover if you debloated something you shouldn't have to

Btw, debloater itself finds in which folder (/system/priv-app, /vendor/app, etc) a particular app was installed and you don't need to know that in advance (btw, you can later see in the where it was).
That info would not help you in deciding should you debloat or not (I've experimented with different Xiaomi firmwares and found the same preinstalled different folders, when comparing one firmware to another)

Last but not the least, you are free to implement a 'better debloater' by your ideas and to provide it to the community😎

- Edit:
Scroll down in the SystemlessDebloater.log to the "System apps, not debloated" section and find e.g. a line:
/system/app/Email (com.android.email)
Then copy Email name (if you want to debloat the built-in Email app) into DebloatList in your SystemlessDebloaterList.sh file.
(IMO, easier and less error-prone than selecting the apps for debloating through Terminal app)
 

Attachments

Last edited:
  • Like
Reactions: ipdev

zgfg

Senior Member
Oct 10, 2016
4,579
1,972
233
New version
SystemlessDebloater_v1.3.9
(see OP post #1 for download link)

Improved log file, now including also the list of all remaining/not-debloated system apps

---

Debloated Xiaomi Mi 9T, Xiaomi.eu 20.12.28, MIUI 12.5 / Android 11 beta with:

DebloatList="
AndroidAutoStub
BookmarkProvider
Browser
BTProductionLineTool
Calculator
CatchLog
CneApp
EasterEgg
GoogleFeedback
GooglePartnerSetup
Health
ims
Joyose
Lens
MiMover
MiPlayClient
MiRecycle
MiService
MiuiBugReport
MiuiDaemon
mi_connect_service
Notes
PaymentService
PersonalAssistant
SoterService
Stk
TouchAssistant
Traceur
Velvet
VsimCore
WebViewGoogle
wps-lite
"
 
Last edited: