**Note:** The `debloat_script.sh` is now in maintenance mode and won't receive any more features. The focus is on the developement of a GUI.
### Magisk module and root support for Android 10+
Root users can now systemlessly debloat their device. The script will create a flashable Magisk zip you'll need to flash from **TWRP** or **Magisk Manager** (recommended). Once installed the module will, on boot, replace the APKs folders with an empty folder (only containing a `.replace` file).
Systemless debloat is the only solution for Android 10+ users because *system* can't be mounted in read-write anymore.
## New packages added
- **Samsung** : 5 (thanks @j0taz)
## Bugfixes
- **Debloated packages (non root) reappear after a reboot (#48)**
- Bad apks names when using root features (parsing issue)
- Apps are now removed for all users (not only `user 0`) (see #29)
-`debloated_packages.txt` logfile will no longer have duplicates.
- New list added: `Mediatek` a chipset manufacturer (like Qualcomm) mostly providing chinese phones.
- Documentation improvement/update for many apps.
- General improvement of UI/UX and better error handling.
### Root Support
If your device is rooted you can now use this script to physically remove apks. Ironically this method is actually safer because you can restore the apks from TWRP recovery in case of a bootloop.
- Root debloat: use the lists but remove the apks (`rm -rf`) instead of using the package manager (`pm`). All apks are automatically backed-up in `apks_backup` before being deleted.
- APKs restore: you can use the script, even when in TWRP recovery, to restore your apks
- Flashable zip: Generate a flashable zip
## New packages added
- **AOSP** : 0
- **Google** : 0
- **Huawei** : 25
- **Miscellaneous** : 0
- **OnePlus**: 1
- **Samsung** : 13
- **Xiaomi** : 1
## Pending --> Official lists
- **Tcl** : 2
- **AOSP** : 16
- **Google** : 16
- **Nokia** : 1
- **Samsung** : 25
- **Huawei** : 7
- **Xiaomi** : 49
- **Mediatek** : 13
- **Miscellaneous** : 0
## Bugfixes
- Renamed confusing variable name (OLDER_THAN_ANDROID_7_1) to OLDER_THAN_ANDROID_8.
- Fixed broken bash version check
- Bootloop with Google debloat list on Android 11 (and higher) (#43)
- Improved script logic. The script now uses a custom list (`CUSTOM_LIST`) for processing which only contains packages preinstalled on your phone.
- Added a new menu entry to quickly reboot the phone.
## New packages added
- **AOSP** : 26
- **Google** : 2
- **Miscellaneous** : 14
- **Samsung** : 1
- **Pending** : 153
- **Xiaomi** : 16
## Pending --> Official lists
- **AOSP** : 3
- **Google** : 2
- **Samsung** : 50
- **Sony** : 2
- **Huawei** : 5
- **Xiaomi** : 13
- **Miscellaneous** : 12
## Bugfixes
- No sound/mic during phonecalls on some Motorola phones (#25)
## Miscellaneous
- Packages list installed on your phone (`remaining_packages.txt`) is now generated as soon as you arrive on the main menu. This list is updated once any action is *completed* (and brings you back to the main menu)
- Adjusted default selection for several lists.
- Improvement and adjustment of many package's description.
- The *[EXIT TRAP]* (used for debug) will no longer be triggered when you `ctrl^C`.
Older Android versions can't reinstall uninstalled packages. The script now detects this case and proposes disabling the apps and clearing data instead of uninstalling them.
Concretely, the script will use : `pm disable-user $package && am force-stop $package && pm clear $package`. Restore will use `pm enable $package`.
I worked hard for this release ! This is a big one ! Enjoy ! :rocket:
## Major overhaul of the script
- Improved UI/UX.
- Performance improvement (you will not feel it but still local variables are used and packages arrays are passed by reference to avoid useless copy).
- Miscellaneous code improvement.
## New features
- You can now select (restore/debloat) several lists at once
- Debloated packages are now listed in a file called `debloated_packages.txt`.
- A list of all your packages (after debloat) is automatically exported in a file called `remaining_packages.txt`.
## New manufacturers supported
- **OnePlus**: 32 new packages.
- **Motorola** : 60 new packages.
## New mobiles carriers supported
-`[FR]`**Orange/Sosh** : 13 new packages.
-`[FR]`**Bouygues** : 3 new packages** (not much bloat it seems).
-`[FR]`**SFR** : 5 new packages (not much bloat neither).
-`[DE]`**Telekom**: 1 new package (idem).
-`[US]`**Sprint** : 25 new packages.
-`[US]`**AT&T** : 15 new packages.
## Always more packages !
- **AOSP** : 8 new packages.
- **Google** : 5 new packages.
- **Miscellaneous** : 30 new packages including 13 new *Qualcomm* packages.
- **Carriers** : 14 new *Verizon* packages.
- **Sony** : 2 new packages (commented-out by default).
## Pending list
New list added in the main menu (`-1 - Pending list`). Packages are located in `lists/0 - Pending.sh` file.
**List packages are undocumented. This mean I did no proper search yet so it's not impossible that some packages are unsafe to delete.**
Currentlty this means that I either found them in debloat lists lying around on XDA forums or that I preselected them from a full packages list of a phone I had on hand.
In the future, when some nice users will help me, packages will get off the pending list faster ! ;)
## Miscellaneous
- Commented out all the packages I put outside of the arrays (because you should never delete them) to remove (harmless) bash errors at the script startup.
- Documentation and official support for the 26 new Samsung packages added in *v1.8*.
- Improved the documentation for some packages.
- Added some worth reading stuff about US mobile carriers scandals.
- Fixed 2 bad package name.
- Fixed some spelling mistakes.
- Moved *com.trustonic.tuiservice* from Samsung list to Miscellaneous file.
- Moved *org.codeaurora.gps.gpslogsave* from Xiaomi list to Miscellaneous list.
- Deleted some leftover duplicates.
- Android 4.4 (API level 19) is now supported. `--user 0` is removed when API is <21becauseitcauseserror(unknownoption)
- **26** new samsung packages at the end of the *Samsung file*. **They are not deleted by default because I haven't documented them yet but it should be safe to debloat.**
- **Each manufacturer has now its own file**. This idea is to document all the packages so you can choose what you want to debloat. There will still be a preselection.
- Package **com.google.android.packageinstaller** removed because it causes bootloop on Xiaomi Note 5. I don't know why I added this one on the list. It's a essential core package.
- **Most of android bloat (independant from brand device) is now moved into its own list (Android bloat) in order to avoid duplicate in the others lists**
- **Most of android bloat (independant from brand device) is now moved into its own list (Android bloat) in order to avoid duplicate in the others lists