Magisk Module Systemless Debloater (REPLACE)

Search This thread

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
Magisk Module Systemless Debloater (REPLACE)


*** Yet another System(less) debloater, how and why?

- Systemless means that all changes made are active only when Magisk is loaded and module is enabled.
For OTA or anything, you just disable the module (or boot without Magisk) and your system partitions are no more affected

- Mi 9T was originally released with Android 9, hence without dynamic partitions and although it is SAR (System as Root), System partition is not read-only.
Therefore, with the right TWRP or root explorer, one can still permanently delete the stock system apps.
Edit: With Android 11 (e.g. Xiaom.eu, MIUI A11, System is read-only).

This is no more possible for the phones released with Android 10 and new Android 11.
System becomes read-only, and to debloat stock apps one can only use systemless approach - use of Magisk to dynamically overlay changes at the boot time

- The module debloates only (stock) apps pre-installed to /system, /product, /vendor and /india - by virtue of Magisk REPLACE mechanism and mounting.
Hence sorry, to debloat user apps installed to Data, please use the other methods

- Thread is posted here under Xiaomi Mi 9T and I have originally tested with MIUI 12.0.2 eea (Android 10, MIUI 12).
Edit: For the last 9 months I'm running and successfully using this module on Xiaomi.eu, Stable and Weeklies, Android 11 and MIUI 12.1/12.5/12.6

However, module relies on the commmon Magisk overlay mechanism and the module is configurable with the list of apps to be debloated - hence you can also use it for the other Xiaomi and more generally, other Android devices (even for custom ROMs if you want to debloat their preinstalled system apps).
To (re)configure the list of apps for debloating, simply open (textual) /Download/SystemlessDebloaterList.sh file (module will install the file) on Internal memory, (re)configure your list of stock apps to debloat, reinstall the module (always through Magisk Manager, not TWRP) and reboot.
You only need to provide the proper names (not package names) for the preinstalled system apps, module will find their exact /system paths

- Below you can find the list of fifty apps I safely debloat on my Xiaomi (they include some apps the other users may like to keep: GMail, Wellbeing, Turbo, etc.) and you, as the end user has to fill your own list of apps you want to debloat on your phone.
Hence the user bears risks and responsibilty, while Troubleshooting section below covers the instructions how to recover, even from the bootloop cases.
Nevertheless, whenever you want to debloat some service/app you are unfamiliar with its name, google first to find what is that app really for and what the other people say who similarly decided to debloat the same app (on your or another phone and maybe by other methods, it doesn't matter).
Don't be afraid of the module and debloating, but be cautious

- There are some other systemless debloaters but made to debloat by mounting a dummy apk file to the preinstalled stock apps.
However, it was later discovered that it may cause Basic Integrity (part of SafetyNet attest) to fail.
Particularly, I tested on my Mi 9T and found that mounting (for my phone) to any /system/priv-app application, innevitably results with the Basic Integrity failure.
This module does not use mount - instead, it fills the REPLACE var for Magisk Module Installer, Magisk Module Installer then prepares the module's system folder (pointing to the installation folders for apps to be debloated), and finally at every boot time Magisk will overlay that system folder to /systen without affecting the Basic Integrity


*** Installation

- Download the latest module from Github - scroll down, open Assets and find the latest v1.4.8 zip:
https://github.com/Magisk-Modules-Alt-Repo/SystemlessDebloater/releases/latest

- In Magisk Manager open Modules tab and take Install from storage, navigate to the downloaded SystemlessDebloater.zip (as is, do not unzip).
Read what Magisk prints while installing and find the module's log in /Download/SystemlessDebloater.log file on Internal memory.
For the end of installation (for any module), you must always reboot

- First time the module will not debloat anything - it will just create the input/configuration file //Download/SystemlessDebloaterList.sh on Internal memory.
Open that configuration file, find the DebloatList="" and fill your list of app names, look at the commented out example you will find in the file

- Save the configuration file, reinstall the module and reboot.
Inspect the log and consult the Troubleshooting section below if needed

- Also, you can 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.
(Easier and less error-prone than selecting the apps for debloating through Terminal app, as some asked for)

- Last but not the least: Once debloated, apps can be no more found (until you reconfigure or disable, or uninstall debloater) under Settings / Apps.
If you want to clear space and delete their data, do Clear data before you debloat the apps.
Moreover, before trying to debloate an app, look if you can Uninstall that app (in which case, it was a user and not the system app) from Settings / Apps.
If Uninstall is not available, do Uninstall updates: Updates are installed to Data while SystemlessDebloater 'debloats' only from System, as a result the update from Data would still remain


*** Troubleshooting

- I have configured an application AbcXyz to debloat, but the app is still present?
Check if you have missed to perform Uninstall / Uninstall updates from Settings, Apps - perform and reboot.
Check if you have miss-spelled the application name - correct in the configuration file SystemlessDebloaterList.sh, save, reinstall the module and reboot.
To help yourself, use e.g. Package Manager app (from Playstore) where you can search for the apps/services, find their names and their installation paths (to see are they System or Data apps)

- I have changed my mind and I want to un-debloat AbcXyz and to debloat instead Pqr-Uvz-123 app?
No problem, reconfigure the list in SystemlessDebloaterList.sh, save, reinstall the module and reboot

- After a week or so, I realize that some functionalities on the phone are affected?
Sorry, you had decided to debloat the wrong apps/services.
Try to google out which app(s) you should have not debloated, reconfigure DebloatList, reinstall the module and reboot.
Or disable the module (reinstall and reboot) to figure out was the problem really due to debloating

- Oops, I have a bootloop?
If you have TWRP with the read/write access to Data, navigate to /data/adb/modules/SystemlessDebloater and by using Advanced / File explorer from TWRP, create a dummy file named disable (without extension) in that folder.
Reboot and Magisk will boot with the particular module debloated (you can see then if the moduule was really responsible for the bootloop).
Instead of dummy file named disable, put the remove dummy file to trigger Magisk to uninstall the module on next reboot (all that applies to any module possibly causing your bootloop).
If proper TWRP is not available, boot to the Android Safe Mode - google for a key-combo to boot in, for my Xiaomi it takes (re)booting with Vol+ and Vol+ pressed simoultaneously.
Don't do anything in Android safe mode but reboot then to 'normal' mode - Magisk will boot now with all the modules disabled (this method does not wotk for Magisk v20.4 or earlier).
You will have to re-enable Magisk Hide (don't worry, your list of apps to hide from was not lost), re-enable the other modules, correct SystemlessDebloaterList.sh (and reinstall the module), and reboot.
These two methods should be enough, for other (more complicated) you can search in XDA General Magisk thread

*** Enough for theory, install now and practice
 

Attachments

  • SystemlessDebloatList.jpg
    SystemlessDebloatList.jpg
    168.5 KB · Views: 4,319
  • Screenshot_2020-11-12-23-52-58-438_com.topjohnwu.magisk.jpg
    Screenshot_2020-11-12-23-52-58-438_com.topjohnwu.magisk.jpg
    216 KB · Views: 4,279
  • SystemlessDebloaterLog.jpg
    SystemlessDebloaterLog.jpg
    206.4 KB · Views: 3,344
  • SystemlessDebloater_log.jpg
    SystemlessDebloater_log.jpg
    578.7 KB · Views: 4,038
Last edited:

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
On my Xiaomi Mi 9T, eea Stable QFJEUXM 12.0.2 I safely debloat the following apps:
Code:
DebloatList="
AnalyticsCore
AntHalService
BasicDreams
BookmarkProvider
CatchLog
Chrome
CneApp
EasterEgg
facebook-appmanager
facebook-installer
facebook-services
FileExplorer_old
GlobalFashiongallery
GlobalMinusScreen
Gmail2
GoogleFeedback
GooglePartnerSetup
HybridAccessory
HybridPlatform
IdMipay
InMipay
Joyose
MiBrowserGlobal
MiBrowserGlobalVendor
MiCreditInStub
MiDrop
MiLinkService2
MiPicks
MiPlayClient
MiRcs
MiRecycle
MiService
MiuiBrowserGlobal
MiuiBugReport
MiuiDaemon
MSA-Global
Netflix_activation
Notes
PartnerBookmarksProvider
PaymentService
PhotoTable
Stk
TouchAssistant
Traceur
Turbo
uceShimService
Velvet
VsimCore
wps_lite
YellowPage
Zman"
E.g., I debloat YouTube and install Vanced YT root.
Similarly, I debloat GMail, Wellbeing, Netflix, Facebook, Turbo, etc - inspect and exclude from the list those apps you want to keep

Also, DebloatList I used for Mi 9T but Xiaomi.eu weekly 20.9.17 (MIUI 12, Android 10):
Code:
DebloatList="
AndroidAutoStub
AntHalService
BookmarkProvider
Browser
BTProductionLineTool
Calculator
CatchLog
CneApp
EasterEgg
Email
GoogleFeedback
GooglePartnerSetup
Health
Joyose
Lens
MiMover
MiPlayClient
MiRecycle
MiService
MiuiBugReport
MiuiDaemon
Notes
PaymentService
Stk
TouchAssistant
Traceur
uceShimService
Velvet
VsimCore
WebViewGoogle
wps_lite"

and for Xiaomi.eu Stable 12.0.6:
Code:
DebloatList="
AndroidAutoStub
AntHalService
BookmarkProvider
Browser
BTProductionLineTool
Calculator
CatchLog
CneApp
EasterEgg
Email
GoogleFeedback
GooglePartnerSetup
Health
Joyose
Lens
MiMover
MiPlayClient
MiRecycle
MiService
MiuiBugReport
MiuiDaemon
Notes
PaymentService
Stk
TouchAssistant
Traceur
uceShimService
Velvet
VsimCore
WebViewGoogle
wps-lite"
You may exclude e.g., Calculator,Email, Health or Lens, if you want to use them.

You can expect most of these apps also on the other MIUI firmwares. Installation folders on System may vary, but module will find their paths?
 
Last edited:
  • Like
Reactions: Dji_Ronku and ipdev

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
Thanks a lot to @ipdev for discussing and sharing ideas, encouraging and for successful testing on Xiaomi Poco F2 (debloater found most of the same MIUI apps as above) and OnePlus 5T

Also, thanks for your successful test on Pixel 3aXL with Android 11:
Works on Pixel 3aXL. (Stock Android 11. Magisk canary.) ;)
Attached the SystemlessDebloater.log from 3aXL.
And the SystemlessDebloaterList.sh I use for testing. (remove the .txt)
 
Last edited:

HippoMan

Senior Member
May 5, 2009
1,926
746
Hippoland
Over the weekend when I have time to fix any potential bricking or boot loops, I'm going to try this on my A/B device (One Plus 7Pro, GM1917, OOS 10.3.5) ... unless before then anyone indicates that this is not even likely to work on my phone.

If I end up doing this, I'll report my results.
.​
 

ipdev

Recognized Contributor
Feb 14, 2016
1,917
1
3,512
Google Nexus 10
Nexus 7 (2013)
Over the weekend when I have time to fix any potential bricking or boot loops, I'm going to try this on my A/B device (One Plus 7Pro, GM1917, OOS 10.3.5) ... unless before then anyone indicates that this is not even likely to work on my phone.

If I end up doing this, I'll report my results.
.​
It does not matter if it system-as-root or a slot device.
By time modules are run, system paths are set.
The active slot partition is running, and (if needed) switch root has happened.
Root directory is set to / and system directory is set to /system


curious about OxygenOS, do not run it very much so I am not sure what should/could be removed.

Cheers. :cowboy:

PS.
Works on Pixel 3aXL. (Stock Android 11. Magisk canary.) ;)
Attached the SystemlessDebloater.log from 3aXL.
And the SystemlessDebloaterList.sh I use for testing. (remove the .txt)

Quick edit.
Since the back-side move for xda is still going, there are some errors while in transition.
Since attachment is not working at the moment. GoogleDrive - Link
 

Attachments

  • SystemlessDebloaterList.sh.txt
    1.1 KB · Views: 341
Last edited:

HippoMan

Senior Member
May 5, 2009
1,926
746
Hippoland
It does not matter if it system-as-root or a slot device.
By time modules are run, system paths are set.
The active slot partition is running, and (if needed) switch root has happened.
Root directory is set to / and system directory is set to /system


curious about OxygenOS, do not run it very much so I am not sure what should/could be removed.

Cheers. :cowboy:

PS.
Works on Pixel 3aXL. (Stock Android 11. Magisk canary.) ;)
Attached the SystemlessDebloater.log from 3aXL.
And the SystemlessDebloaterList.sh I use for testing. (remove the .txt)

OxygenOS isn't as bad, bloat-wise, as some other OS's, such as what comes with Samsung. But there are still things that I don't want, such as the OnePlus camera and a few other items.

I'll report back here after I try this.
.​
 

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
It does not matter if it system-as-root or a slot device.
By time modules are run, system paths are set.
The active slot partition is running, and (if needed) switch root has happened.
Root directory is set to / and system directory is set to /system


curious about OxygenOS, do not run it very much so I am not sure what should/could be removed.

Cheers. :cowboy:

PS.
Works on Pixel 3aXL. (Stock Android 11. Magisk canary.) ;)
Attached the SystemlessDebloater.log from 3aXL.
And the SystemlessDebloaterList.sh I use for testing. (remove the .txt)
Thank you for testing on A11.
Log cannot be downloaded, 404?
 

ipdev

Recognized Contributor
Feb 14, 2016
1,917
1
3,512
Google Nexus 10
Nexus 7 (2013)
Thank you for testing on A11.
Log cannot be downloaded, 404?
Looks like some more hiccups on xda back-side again.
Will be nice once the transition is complete, xda will be fast and stable again. :fingers-crossed: :eek:

Updated my prior post with a gDrive Link.

If you look at the log, you will notice chrome is not debloated.
The stub is debloated, Chrome (Think it is in product/app) is a gzip version of the Chrome apk.
Chrome is automatically installed into /data/app/HashStringOrSomething/com.android.chrome-HashStringOrSomething/Chome.apk
I have not taken time to look into that change.

Cheers. :cowboy:
 

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
Looks like some more hiccups on xda back-side again.
Will be nice once the transition is complete, xda will be fast and stable again. :fingers-crossed: :eek:

Updated my prior post with a gDrive Link.

If you look at the log, you will notice chrome is not debloated.
The stub is debloated, Chrome (Think it is in product/app) is a gzip version of the Chrome apk.
Chrome is automatically installed into /data/app/HashStringOrSomething/com.android.chrome-HashStringOrSomething/Chome.apk
I have not taken time to look into that change.

Cheers. :cowboy:
Interesting - what happens when you debloat Chrome-Stub from Product and leave Chrome on Data, does it still run?

Btw, I do use Chrome (because of the integrated translator, making me easy to sometimes read worldwide forums if needed) and I didn't want to debloat originally. However, my preinstalled version on Product was not the latest, and Google Play was offering me to update, but updating Chrome was always failing.
I downloaded the apk from ApkMirror but installation had also failed

Then I debloated (at that time, prior to this debloater I used to manually create my system folder given to Magisk to overlay, and with dummy apk instead of with .replace file) and only then I was able to install Chrome apk (ofc to Data) and since then, to regularly update it through Playstore

One more thing. I've found some people claiming that Chrome breaks to run if Playstore shows Device is not certified.
But back in the spring when Google started to play with enforcing CTS Profile Hardware attest, and prior than @Displax invented ro.product.model spoofing (to force Basic attest and to pass CTS/SafetyNet, to get Device certified), my CTS was failing and Device was not Certified but I had no problems using Chrome on daily basis


---

Also, you have PrebuiltGmail and Music2, I had Gmail2 and FileExplorer_old (I had to use Package Manager to find that Gmail was installed as Gmail2/Gmail2.apk and similarly the Android FileExplore as FileExplorer_old.apk)

Btw all Mi* and Miui* stuff apply only for debloating Xiaomi

In your input list you have lite and wps (both are not found in the log), mine was wps_lite (WPS preinstalled to Vendor) - please check
 
Last edited:

ipdev

Recognized Contributor
Feb 14, 2016
1,917
1
3,512
Google Nexus 10
Nexus 7 (2013)
Interesting - what happens when you debloat Chrome-Stub from Product and leave Chrome on Data, does it still run?

Btw, I do use Chrome (because of the integrated translator, making me easy to sometimes read worldwide forums if needed) and I didn't want to debloat originally. However, my preinstalled version on Product was not the latest, and Google Play was offering me to update, but updating Chrome was always failing.
I downloaded the apk from ApkMirror but installation had also failed

Then I debloated (at that time, prior to this debloater I used to manually create my system folder given to Magisk to overlay, and with dummy apk instead of with .replace file) and only then I was able to install Chrome apk (ofc to Data) and since then, to regularly update it through Playstore

One more thing. I've found some people claiming that Chrome breaks to run if Playstore shows Device is not certified.
But back in the spring when Google started to play with enforcing CTS Profile Hardware attest, and prior than @Displax invented ro.product.model spoofing (to force Basic attest and to pass CTS/SafetyNet, to get Device certified), my CTS was failing and Device was not Certified but I had no problems using Chrome on daily basis.
PlayStore issues are weird at best.
Hit or miss, depends on the device and/or setup.
Certificataion does not seem to play a big part over all.
If it does then Google's has more issues than fixing SafetyNet to worry about.
Sometimes it is just a Google being Google. ;)

I will look into Chrome tomorrow.
I normally use Chrome Dev PlayStore - Link.
More so now, Brave Browser PlayStore - Link.

Also, you have PrebuiltGmail and Music2, I had Gmail2 and FileExplorer_old (I had to use Package Manager to find that Gmail was installed as Gmail2/Gmail2.apk and similarly the Android FileExplore as FileExplorer_old.apk)

Btw all Mi* and Miui* stuff apply only for debloating Xiaomi

In your input list you have lite and wps (both are not found in the log), mine was wps_lite (WPS preinstalled to Vendor) - please check

No harm checking for apps that do not exist on the device. :D
It may cause extra lines in the log file and one or two seconds of install time.

My bad. :eek:
Must have split wps_lite when I was adjusting the list. Then when sorting, it just put lite and wps in the correct order.

---

I re-flashed and/or reverted a few phones tonight and added them to the gDrive Link.

The files listed as _pfile.list (preinstalle files) are a list of files located in app and/or priv-app of system, product and vendor.
I use a shell scripts for this kind of stuff, [ because I am lazy :p ] primarily with adb shell.

I adjusted the one I use to make the pfile list.
list_pfiles.sh - Still needs to be run as root.

list_pfiles.sh needs to be located in a writable directory. (sdcard/Download | data/local/tmp | ...)
It still uses a static NAME= variable that you will want to change.
I added a few things to make it run from a root file manager like fx or mix.
With the addition (work from a file manager app/or called from a diferent directory), if you rename the script file, you will also have to adjust the SCRIPT= variable to match.


Cheers. :cowboy:

Edit:
2021.Aug.21

I updated the list_pfiles script.
To Use:
Copy this script to the device.
Recommended to use the /sdcard/Download/ directory.

Run from adb shell (or a terminal app) using the sh command.
sh list_pfiles.sh

Run from a file manager that is able to execute a script file.
Note: May or may not work depending on file manager..
 
Last edited:

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
PlayStore issues are weird at best.
Hit or miss, depends on the device and/or setup.
Certificataion does not seem to play a big part over all.
If it does then Google's has more issues than fixing SafetyNet to worry about.
Sometimes it is just a Google being Google. ;)

I will look into Chrome tomorrow.
I normally use Chrome Dev PlayStore - Link.
More so now, Brave Browser PlayStore - Link.



No harm checking for apps that do not exist on the device. :D
It may cause extra lines in the log file and one or two seconds of install time.

My bad. :eek:
Must have split wps_lite when I was adjusting the list. Then when sorting, it just put lite and wps in the correct order.

---

I re-flashed and/or reverted a few phones tonight and added them to the gDrive Link.

The files listed as _pfile.list (preinstalle files) are a list of files located in app and/or priv-app of system, product and vendor.
I use a shell scripts for this kind of stuff, [ because I am lazy :p ] primarily with adb shell.

I adjusted the one I use to make the pfile list.
list_pfiles.sh - Still needs to be run as root.

list_pfiles.sh needs to be located in a writable directory. (sdcard/Download | data/local/tmp | ...)
It still uses a static NAME= variable that you will want to change.
I added a few things to make it run from a root file manager like fx or mix.
With the addition (work from a file manager app/or called from a diferent directory), if you rename the script file, you will also have to adjust the SCRIPT= variable to match.

Cheers. :cowboy:
Pixel comes with only G stuff but interestingly, without Wellbeing

Velvet.apk, what is the package name (you should still be able to find the name on /data/data)?
When you have Velvet (Poco F1, F2 and One+ 5T), do they also have Google.apk = com.google.android.googlequicksearchbox?

Btw, if you use MiXPlorer and choose Tools, App Remnants, you can see /data/data folders for debloated apps (and you can remove them)
 

Attachments

  • Screenshot_2020-10-25-08-02-37-391_com.mixplorer.jpg
    Screenshot_2020-10-25-08-02-37-391_com.mixplorer.jpg
    161.2 KB · Views: 325
Last edited:
  • Like
Reactions: thomasnsr

HippoMan

Senior Member
May 5, 2009
1,926
746
Hippoland
Over the weekend when I have time to fix any potential bricking or boot loops, I'm going to try this on my A/B device (One Plus 7Pro, GM1917, OOS 10.3.5) ... unless before then anyone indicates that this is not even likely to work on my phone.

If I end up doing this, I'll report my results.

I did it just now, and it worked wth no problems on my device! For my initial test, I used SystemlessDebloater to remove GooglePartnerSetup, and it was indeed removed. No bootloops, no problems.

Good work on this module!


...
Btw, if you use MiXPlorer and choose Tools, App Remnants, you can see /data/data folders for debloated apps (and you can remove them)
Well, in my case, GooglePartnerSetup doesn't appear anywhere among MiXPlorer's "App Remnants", even though other /data/data items are indeed being displayed there. But this is not causing any kind of issue on my device, so I am not concerned.
.​
 
Last edited:

ipdev

Recognized Contributor
Feb 14, 2016
1,917
1
3,512
Google Nexus 10
Nexus 7 (2013)
Pixel comes with only G stuff but interestingly, without Wellbeing
Don't worry, Google would not forget to bundle it. :D
Digital wellbeing is named WellbeingPrebuilt.
package: name='com.google.android.apps.wellbeing'
I just did not add it to the debloat list. ;)
Velvet.apk, what is the package name (you should still be able to find the name on /data/data)?
When you have Velvet (Poco F1, F2 and One+ 5T), do they also have Google.apk = com.google.android.googlequicksearchbox?
Velvet is Google.
package: name='com.google.android.googlequicksearchbox'
As far as I know, Velvet is the bundled and/or GApps name used. :eek:

Cheers. :cowboy:
 

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
I did it just now, and it worked wth no problems on my device! For my initial test, I used SystemlessDebloater to remove GooglePartnerSetup, and it was indeed removed. No bootloops, no problems.
.​
Just a short question - you have A11 on your OnePlus 7Pro?
 

ipdev

Recognized Contributor
Feb 14, 2016
1,917
1
3,512
Google Nexus 10
Nexus 7 (2013)
Interesting - what happens when you debloat Chrome-Stub from Product and leave Chrome on Data, does it still run?

Btw, I do use Chrome (because of the integrated translator, making me easy to sometimes read worldwide forums if needed) and I didn't want to debloat originally. However, my preinstalled version on Product was not the latest, and Google Play was offering me to update, but updating Chrome was always failing.
I downloaded the apk from ApkMirror but installation had also failed

Then I debloated (at that time, prior to this debloater I used to manually create my system folder given to Magisk to overlay, and with dummy apk instead of with .replace file) and only then I was able to install Chrome apk (ofc to Data) and since then, to regularly update it through Playstore


Still have to test some more.
So far only on my Pixel aOS 11.

This is a little tricky to explain my testing/findings.
- Long post, truncated it for now. -

Not logged into Google. (PlayStore)

With Chrome stub active, Chrome is treated as a system app.
Even though the full version is in data it can not be uninstalled only disabled.
PlayStore shows an available update for Chrome.

If stub is removed (debloated), Chrome is treated as a user app.
You have the option to uninstall.
PlayStore does NOT show an update for Chrome.

Did not matter if I cleared cache and/or data on PlayStore or re-scan with with PlayProtect.
This is odd, since Google should still want to update even if it is just a user app.
I'll have to dig though the user agreement again.
Might be automatic update only when Google apps are included (system app) when not logged in.


--

As soon as I logged in, Google immediately updated some back-end.
Chrome is now available for an update and it updated fine.
This is also where some oddities came in.

--
<TRUNCATE>
--

Still have to double check everything.
Seems to be an issue distinguishing between system and user apps.
Should have time this weekend to redo and verify every step I used for testing.

As of now, I would suggest the same as you did it.
Debloat Chrome (stub)
Uninstall Chrome (should be considered a user app after the debloate.)
Install from another source (if need be then update from PlayStore.) or just install from PlayStore.

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

zgfg

Senior Member
Oct 10, 2016
7,801
5,209
Btw, released v1.3.5 through the OP post #1 - just to log to the logfile the Android version, is it SAR and is it A/B - would be nice if you can test does it log correctly when you have time and A/B device.
Unfortunately, still unable to resolve a miss-communication with the bot to successfully submit to Repo :(
 
  • Like
Reactions: thomasnsr

Top Liked Posts

  • 3
    Thank you for this!
    It is working wonderfully on my Pixel 5 Android 12L Stock ROM.
  • 3
    Thank you for this!
    It is working wonderfully on my Pixel 5 Android 12L Stock ROM.
    2
    Since your Omoji app is in some 'new'/strange folder my_bigball:

    /system/my_bigball/app/Omoji/Omoji.apk=com.oplus.omoji

    Try with the attached SystemlessDebloaterList.sh

    (my_bigball folder added to SarMountPointList)

    No guarantee, let's test please
    It worked! Thank you! Log file attached.
    2
    Sure, sorry I am new to posting on XDA and did not realize I could do that. The files are attached to this post.
    Since your Omoji app is in some 'new'/strange folder my_bigball:

    /system/my_bigball/app/Omoji/Omoji.apk=com.oplus.omoji

    Try with the attached SystemlessDebloaterList.sh

    (my_bigball folder added to SarMountPointList)

    No guarantee, let's test please
    2
    <SNIP>
    /system/my_bigball/app/Omoji/Omoji.apk=com.oplus.omoji
    <SNIP>

    <SNIP>
    edit: I guess it's a user app not a system app so I will just get rid of it as user app

    I have not been keeping up with my OnePlus(s) too much.
    What it the /system/my_bigball/ directory?
    What else is in it?
    Is it another OnePlus specific directory/partition like india ?​

    Yeah, I only want to use your debloater, I was only using the other one to make sure I was able to debloat Omoji in the first place.
    <SNIP>
    I fully agree. 😃

    This module is the best systemless debloater. 👍

    Cheers. :cowboy:
    2
    I think I tried that. Here's what I did just now and here are my results:

    1. Unbloated Omoji using the previously mentioned Debloater app and restarted device
    2. Checked to see if Omoji was still installed under Settings>App>App Management -- it was.
    3. Set up my config file as following:

    Code:
    DebloatList="
    ChildrenSpace
    Calculator2
    Clock
    OPWorkLifeBalance
    Portrait
    talkback
    FamilyLinkParentalControls
    Wellbeing
    Omoji
    "

    4. Got the following error in log file:

    Code:
    Debloating:
    found: /system/product/app/Calculator2/.replace
    found: /system/product/app/ChildrenSpace/.replace
    found: /system/product/app/Clock/.replace
    found: /system/product/priv-app/FamilyLinkParentalControls/.replace
    Omoji --- app not found!
    found: /system/product/app/OPWorkLifeBalance/.replace
    found: /system/product/app/Portrait/.replace
    found: /system/product/app/talkback/.replace
    found: /system/product/priv-app/Wellbeing/.replace

    Full log file here: https://pastebin.com/MSWKJruP
    Don't play with two debloaters. Uninstall one, reboot and use the other. Your choice

    And if Google Play or anything else already updated that Omoji app, first uninstall its updates (OP posts here).
    Because the debloater debloates only the system apps. Once it was updated, system is using the update that is installed to /data/app (that is now user app, no more system app).
    Settings/Apps, find that Omoji and take Uninstall updates

    How to use this debloater is described in the OP posts
  • 13
    Magisk Module Systemless Debloater (REPLACE)


    *** Yet another System(less) debloater, how and why?

    - Systemless means that all changes made are active only when Magisk is loaded and module is enabled.
    For OTA or anything, you just disable the module (or boot without Magisk) and your system partitions are no more affected

    - Mi 9T was originally released with Android 9, hence without dynamic partitions and although it is SAR (System as Root), System partition is not read-only.
    Therefore, with the right TWRP or root explorer, one can still permanently delete the stock system apps.
    Edit: With Android 11 (e.g. Xiaom.eu, MIUI A11, System is read-only).

    This is no more possible for the phones released with Android 10 and new Android 11.
    System becomes read-only, and to debloat stock apps one can only use systemless approach - use of Magisk to dynamically overlay changes at the boot time

    - The module debloates only (stock) apps pre-installed to /system, /product, /vendor and /india - by virtue of Magisk REPLACE mechanism and mounting.
    Hence sorry, to debloat user apps installed to Data, please use the other methods

    - Thread is posted here under Xiaomi Mi 9T and I have originally tested with MIUI 12.0.2 eea (Android 10, MIUI 12).
    Edit: For the last 9 months I'm running and successfully using this module on Xiaomi.eu, Stable and Weeklies, Android 11 and MIUI 12.1/12.5/12.6

    However, module relies on the commmon Magisk overlay mechanism and the module is configurable with the list of apps to be debloated - hence you can also use it for the other Xiaomi and more generally, other Android devices (even for custom ROMs if you want to debloat their preinstalled system apps).
    To (re)configure the list of apps for debloating, simply open (textual) /Download/SystemlessDebloaterList.sh file (module will install the file) on Internal memory, (re)configure your list of stock apps to debloat, reinstall the module (always through Magisk Manager, not TWRP) and reboot.
    You only need to provide the proper names (not package names) for the preinstalled system apps, module will find their exact /system paths

    - Below you can find the list of fifty apps I safely debloat on my Xiaomi (they include some apps the other users may like to keep: GMail, Wellbeing, Turbo, etc.) and you, as the end user has to fill your own list of apps you want to debloat on your phone.
    Hence the user bears risks and responsibilty, while Troubleshooting section below covers the instructions how to recover, even from the bootloop cases.
    Nevertheless, whenever you want to debloat some service/app you are unfamiliar with its name, google first to find what is that app really for and what the other people say who similarly decided to debloat the same app (on your or another phone and maybe by other methods, it doesn't matter).
    Don't be afraid of the module and debloating, but be cautious

    - There are some other systemless debloaters but made to debloat by mounting a dummy apk file to the preinstalled stock apps.
    However, it was later discovered that it may cause Basic Integrity (part of SafetyNet attest) to fail.
    Particularly, I tested on my Mi 9T and found that mounting (for my phone) to any /system/priv-app application, innevitably results with the Basic Integrity failure.
    This module does not use mount - instead, it fills the REPLACE var for Magisk Module Installer, Magisk Module Installer then prepares the module's system folder (pointing to the installation folders for apps to be debloated), and finally at every boot time Magisk will overlay that system folder to /systen without affecting the Basic Integrity


    *** Installation

    - Download the latest module from Github - scroll down, open Assets and find the latest v1.4.8 zip:
    https://github.com/Magisk-Modules-Alt-Repo/SystemlessDebloater/releases/latest

    - In Magisk Manager open Modules tab and take Install from storage, navigate to the downloaded SystemlessDebloater.zip (as is, do not unzip).
    Read what Magisk prints while installing and find the module's log in /Download/SystemlessDebloater.log file on Internal memory.
    For the end of installation (for any module), you must always reboot

    - First time the module will not debloat anything - it will just create the input/configuration file //Download/SystemlessDebloaterList.sh on Internal memory.
    Open that configuration file, find the DebloatList="" and fill your list of app names, look at the commented out example you will find in the file

    - Save the configuration file, reinstall the module and reboot.
    Inspect the log and consult the Troubleshooting section below if needed

    - Also, you can 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.
    (Easier and less error-prone than selecting the apps for debloating through Terminal app, as some asked for)

    - Last but not the least: Once debloated, apps can be no more found (until you reconfigure or disable, or uninstall debloater) under Settings / Apps.
    If you want to clear space and delete their data, do Clear data before you debloat the apps.
    Moreover, before trying to debloate an app, look if you can Uninstall that app (in which case, it was a user and not the system app) from Settings / Apps.
    If Uninstall is not available, do Uninstall updates: Updates are installed to Data while SystemlessDebloater 'debloats' only from System, as a result the update from Data would still remain


    *** Troubleshooting

    - I have configured an application AbcXyz to debloat, but the app is still present?
    Check if you have missed to perform Uninstall / Uninstall updates from Settings, Apps - perform and reboot.
    Check if you have miss-spelled the application name - correct in the configuration file SystemlessDebloaterList.sh, save, reinstall the module and reboot.
    To help yourself, use e.g. Package Manager app (from Playstore) where you can search for the apps/services, find their names and their installation paths (to see are they System or Data apps)

    - I have changed my mind and I want to un-debloat AbcXyz and to debloat instead Pqr-Uvz-123 app?
    No problem, reconfigure the list in SystemlessDebloaterList.sh, save, reinstall the module and reboot

    - After a week or so, I realize that some functionalities on the phone are affected?
    Sorry, you had decided to debloat the wrong apps/services.
    Try to google out which app(s) you should have not debloated, reconfigure DebloatList, reinstall the module and reboot.
    Or disable the module (reinstall and reboot) to figure out was the problem really due to debloating

    - Oops, I have a bootloop?
    If you have TWRP with the read/write access to Data, navigate to /data/adb/modules/SystemlessDebloater and by using Advanced / File explorer from TWRP, create a dummy file named disable (without extension) in that folder.
    Reboot and Magisk will boot with the particular module debloated (you can see then if the moduule was really responsible for the bootloop).
    Instead of dummy file named disable, put the remove dummy file to trigger Magisk to uninstall the module on next reboot (all that applies to any module possibly causing your bootloop).
    If proper TWRP is not available, boot to the Android Safe Mode - google for a key-combo to boot in, for my Xiaomi it takes (re)booting with Vol+ and Vol+ pressed simoultaneously.
    Don't do anything in Android safe mode but reboot then to 'normal' mode - Magisk will boot now with all the modules disabled (this method does not wotk for Magisk v20.4 or earlier).
    You will have to re-enable Magisk Hide (don't worry, your list of apps to hide from was not lost), re-enable the other modules, correct SystemlessDebloaterList.sh (and reinstall the module), and reboot.
    These two methods should be enough, for other (more complicated) you can search in XDA General Magisk thread

    *** Enough for theory, install now and practice
    3
    Thanks a lot to @ipdev for discussing and sharing ideas, encouraging and for successful testing on Xiaomi Poco F2 (debloater found most of the same MIUI apps as above) and OnePlus 5T

    Also, thanks for your successful test on Pixel 3aXL with Android 11:
    Works on Pixel 3aXL. (Stock Android 11. Magisk canary.) ;)
    Attached the SystemlessDebloater.log from 3aXL.
    And the SystemlessDebloaterList.sh I use for testing. (remove the .txt)
    3
    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
    "
    3
    This is my file I made inside downloads folder do you understand what I did wrong or nothttps://drive.google.com/file/d/1COpuJbSJDKyiejF9VTHXS27uB9NYleRQ/view?
    usp=drivesdk


    Give me the file with those 2 apps to flash and I will see what I did wrong. Setup a file that should work and I Will download it and then flash the module again and see if it works. Because the one you already gave doesn't work either. So I don't understand what the hell it is. I'm supposed to. I'm doing everything. Give me the file all set up so I can flash it and then I can see and compare it to the one I have
    I noticed the mistake when I was going to try your list file on my Pixel 6.
    Note: Calculator is CalculatorGooglePrebuilt on Google factory Pixel a12.​

    Code:
    # Define a list of stock apps for debloating:
    DebloatList=""
    Calculator
    Maps
    The module gave you that error becuase the DebloatList variable is empty.

    The names have to be inside the double quotes ".
    Example(s).
    Code:
    # Define a list of stock apps for debloating:
    DebloatList="
    Calculator
    CalculatorGooglePrebuilt
    Maps
    "
    or
    Code:
    # Define a list of stock apps for debloating:
    DebloatList="Calculator
    CalculatorGooglePrebuilt
    Maps"
    Cheers. :cowboy:

    PS.
    It works on my Pixel 6. ;)
    3
    Thank you for this!
    It is working wonderfully on my Pixel 5 Android 12L Stock ROM.