Compare commits

...

123 commits
v2.1 ... master

Author SHA1 Message Date
w1nst0n 316b01b5ee
This project is no longer maintained! 2021-10-07 22:09:40 +02:00
w1nst0n 0b98f69fde
Add EOL warning 2021-09-09 18:05:04 +02:00
Ryan Fransen-Pruden 6c6b63e33c Update Carriers.sh (I narrowed down hotspot issue to com.verizon.mips.services) 2021-07-29 20:46:55 +00:00
hakerdefo bfdbf13442 Update AOSP.sh with some information related to "com.android.wallpaper.livepicker". 2021-05-25 17:17:34 +00:00
w1nst0n 480b292bd9
Add "com.google.mainline.telemetry" (address #27) 2021-04-04 23:52:45 +02:00
w1nst0n f4d4744398
New package + description update (adress #71, #64) 2021-04-04 23:45:32 +02:00
w1nst0n 51e22ac254
Support for poco phones (xiaomi sub-brand) 2021-03-30 19:11:57 +02:00
w1nst0n 7ded3301e4 New Version (2.9.1) 2021-03-05 23:49:40 +01:00
w1nst0n 76a3035fa2 UX improvement + bugfixes (includes #78) 2021-03-05 23:49:26 +01:00
w1nst0n f09dfe8fe7 Improve documentation 2021-03-05 23:24:28 +01:00
w1nst0n ff66e774b2 New packages 2021-03-05 22:55:21 +01:00
w1nst0n 6c4e819275 Add zip as a dependency + Bash doesn't need to be the default shell on MacOS 2021-03-03 20:02:22 +01:00
Max Overmeyer ff05dd35b2 Added some more Samsung apps (Galaxy A9 2018, Android 10, Europe, not branded) 2021-02-24 20:12:14 +00:00
Waryle W 6c6798fd04 Update Samsung.sh - fix Easy One Hand mode description 2021-02-23 14:13:28 +00:00
Elges István 8e35a1d104 Updates on some Xiaomi Advanced Debloat options 2021-02-22 21:16:00 +00:00
w1nst0n e410b3d9fe Better bash version check (#60) 2021-02-22 20:57:20 +00:00
Max Overmeyer 39d6ab29d6 Update Samsung.sh, typo in package name 2021-02-22 20:06:47 +00:00
w1nst0n 38d216688f New Version (v2.9) 2021-01-30 01:54:31 +01:00
w1nst0n d0d73a2c2d Systemless debloat support for all android version 2021-01-30 01:54:26 +01:00
w1nst0n 4a6ae80380 Add new packages (cherry pick !10) 2021-01-30 01:54:02 +01:00
w1nst0n 5573f5c701 Adress #49 + #51 2021-01-27 22:55:59 +01:00
w1nst0n 53357d76dc Partial Android 10 support + fix #48 2021-01-27 22:27:43 +01:00
w1nst0n 3d24cc2f49 Fix parsing issue (package / path) 2021-01-19 22:16:48 +01:00
w1nst0n 9e40855840 Hotfix (v2.8.4) 2021-01-17 04:48:30 +01:00
w1nst0n 9b62302d61 Hotfix (v2.8.3) 2021-01-12 23:04:19 +01:00
w1nst0n e8024ffd60 Fix bad variable name (#45) 2021-01-12 23:04:05 +01:00
w1nst0n 8d5ce9f690 Hotfix (v2.8.2) 2021-01-11 18:33:03 +01:00
w1nst0n c7c298db05 Hotfix (v2.8.1) 2021-01-11 01:33:40 +01:00
w1nst0n 28bd19b3bf Rework of the broken flashable zip generation function 2021-01-11 01:33:31 +01:00
w1nst0n 0f4c010d53 Update README for v2.8 + list another workaround for Windows users 2021-01-10 22:31:38 +01:00
w1nst0n e5634dd4e6 META-INF for the flashable zip 2021-01-10 21:13:14 +01:00
w1nst0n 9283b7bbab New Version (v2.8) 2021-01-10 21:06:48 +01:00
w1nst0n 754bd245ae v2.8: ROOT support + new features + better UI/UX + bugfixes 2021-01-10 19:59:33 +01:00
w1nst0n a71dc2104c Better title for DO NOT REMOVE section and safer default selection 2021-01-10 19:55:41 +01:00
w1nst0n 1add3b24c2 Do not remove com.google.android.ext.services on Android 11 devices (#43) 2021-01-10 03:13:41 +01:00
w1nst0n 511b6c41bd Remove a lot of packages (now in official lists) 2021-01-03 23:19:52 +01:00
w1nst0n 6dadaea7da Add new packages (+ new list: mediatek) 2021-01-03 23:17:44 +01:00
w1nst0n 2571cfaf53 New packages, documentation improvements & default selection changes 2021-01-03 23:16:29 +01:00
Marius Spangenberger 7efaad59ae add bloated packages for huawei devices 2020-12-01 13:44:08 +01:00
w1nst0n 3937fe31db Bump script version number to v2.7 2020-10-20 22:00:21 +02:00
w1nst0n 8b93202ba6 New Version (v2.7) 2020-10-04 23:50:57 +02:00
w1nst0n 376924cba9 Fixed #31, #32 and added feature #30 2020-10-04 23:25:48 +02:00
w1nst0n ba0a936362 New Version (v2.6) 2020-09-18 22:50:23 +02:00
w1nst0n af64b952d8 Caught last few bugs from cd386d86 + update script version to 2.6 2020-09-18 22:27:25 +02:00
w1nst0n ed0788f649 Add 2 notes (that users should read) 2020-09-18 22:05:16 +02:00
w1nst0n 61af0111bb Update pending list (including TCL packages addition) 2020-09-18 22:02:51 +02:00
w1nst0n 803feb8b8d Add new Google packages 2020-09-18 22:02:00 +02:00
w1nst0n 92358dda26 Add new Huawei packages 2020-09-18 22:01:49 +02:00
w1nst0n cd29dddb32 Improved Qualcomm documentation + new packages 2020-09-18 22:01:31 +02:00
w1nst0n 83a6aa3c97 One new Samsung package + improve some package's description 2020-09-18 22:01:07 +02:00
w1nst0n 8b99c1421e Add 1 new Sony package 2020-09-18 22:00:23 +02:00
w1nst0n 379fc41c77 Last Xiaomi packages before v2.6 2020-09-18 21:59:36 +02:00
w1nst0n a52db72b33 New AOSP packages + improved documentation 2020-09-18 21:58:55 +02:00
w1nst0n 08ee4be7ee Added new Xiaomi packages 2020-09-16 01:29:05 +02:00
w1nst0n 64ff0626a6 Fixed a bug with the CUSTOM_LIST generation from previous commit 2020-09-12 01:09:13 +02:00
w1nst0n cd386d8629 Improved script logic and exit trap + Added new menu entry to reboot the phone 2020-09-12 00:20:06 +02:00
w1nst0n 9a03489ca0 Add a lot of packages + changes to default selection 2020-09-03 21:34:45 +02:00
w1nst0n 6c22620134 New Version (v2.5.1) 2020-08-17 00:56:10 +02:00
w1nst0n bc622c72c7 weird typing error 2020-08-17 00:49:31 +02:00
w1nst0n 4c69c2cd60 Display a more useful error message when the phone is not detected by ADB (#18) 2020-08-15 19:48:56 +02:00
w1nst0n 180930978a New Version (v2.5) 2020-08-15 19:00:09 +02:00
w1nst0n e3be63a99c New submenu (qualcomm, misc) for 5 - Others 2020-08-15 18:52:21 +02:00
w1nst0n 16f2a10f30 Update the pending list 2020-08-15 18:44:46 +02:00
w1nst0n cccc19c431 Revamp + add some apps 2020-08-15 18:43:49 +02:00
w1nst0n 4872a7445e Motorola list revamp 2020-08-15 18:43:23 +02:00
w1nst0n b98ecd3c54 List revamp, created an advanced debloat section + add some apps from the pending list 2020-08-15 18:39:59 +02:00
w1nst0n cbc944a4f8 Qualcomm has its own list + add some new packages in misc list 2020-08-15 18:37:19 +02:00
w1nst0n 68eb1bf26b Change default selection + fix spelling mistakes 2020-08-15 18:36:13 +02:00
w1nst0n 0f6d01a2d3 Add 2 new packages from the pending list 2020-08-15 18:35:04 +02:00
W1nst0n d4d03d1605 Merge branch 'master' into 'master'
Motorola.sh: Improvments to package list

See merge request W1nst0n/universal-android-debloater!5
2020-08-15 10:48:16 +00:00
W1nst0n dcf43b6544 Merge branch 'master' into 'master'
Some improvements/additions to LG & Qualcomm lists

See merge request W1nst0n/universal-android-debloater!2
2020-08-15 10:04:53 +00:00
zxh30b 3e0a0da02b Some improvements/additions to LG & Qualcomm lists 2020-08-15 10:04:53 +00:00
Plan 10 65f6a89ba9 Motorola.sh: Improvments to package list
Disabling package which causes bootloop, and improvments to descriptions.
Adding new packages, and verifying safety of unknown packages.
2020-08-12 18:00:08 +10:00
w1nst0n dbaed2c5a6 Remove humane-tech badge from the README 2020-08-12 00:49:58 +02:00
W1nst0n f65b2d00c1 Merge branch 'master' into 'master'
Add packages for Samsung, AT&T, and misc

See merge request W1nst0n/universal-android-debloater!3
2020-08-11 21:24:32 +00:00
TheKgg 23aa2990d0 Add packages for Samsung, AT&T, and misc 2020-08-11 21:24:32 +00:00
w1nst0n 8d130f2a7f Add Humane-tech badge + disconnect from OEM account (#21) 2020-08-11 22:15:50 +02:00
gcb a02eff07dc add BB. fix typos. 2020-08-09 02:31:24 +00:00
w1nst0n 498e838441 Hotfix (v2.4.2) 2020-07-30 04:21:50 +02:00
w1nst0n c316236873 Fix a potential bootloop on samsung phones (#20) + fix #19 2020-07-30 04:21:14 +02:00
w1nst0n 4b9f185391 Update the version number to 2.4.1 2020-07-17 20:40:53 +00:00
w1nst0n 4d3a692489 Move Timezone updater package to the DO NOT REMOVE THIS section as it causes a bootloop 2020-07-17 20:23:58 +00:00
w1nst0n 7d9a1960ae Hotfix (v2.4.1) 2020-07-17 20:10:08 +00:00
w1nst0n 5259976c03 Fix a mistake causing a bootloop on some Samsung phones (#16) 2020-07-17 20:07:48 +00:00
w1nst0n 1aa49e8213 Fix a minor oversight in Windows instructions 2020-07-17 02:12:30 +02:00
w1nst0n 5df5661b7d New Version (v2.4) 2020-07-16 19:21:28 +02:00
w1nst0n 39e6fa62aa Update README 2020-07-16 19:20:55 +02:00
w1nst0n c4e3c20227 2 bugfixes + support for brand alternative names 2020-07-16 19:02:02 +02:00
w1nst0n d404742b76 Add 100+ new packages 2020-07-16 16:48:50 +02:00
w1nst0n 317ec623f9 Add new packages + improve documentation + adjust default selection 2020-07-16 16:46:41 +02:00
w1nst0n 7103135941 Improve documentation + adjust default selection + change shebang 2020-07-16 16:43:17 +02:00
W1nst0n d1d7ecaba9 Merge branch 'samsung-members' into 'master'
Add 'android.voc' version of Samsung Members

See merge request W1nst0n/universal-android-debloater!1
2020-06-26 13:47:40 +00:00
yawnoc 3bcccb9ae0 Add 'android.voc' version of Samsung Members 2020-06-26 18:27:33 +08:00
w1nst0n 3c7be3f949 Added new pending packages 2020-06-23 00:43:15 +02:00
w1nst0n 124c9a4160 Improved How to use section + misc minor changes 2020-06-22 22:00:15 +02:00
w1nst0n 232d2c0842 Hotfix (v2.3.2) 2020-06-22 18:40:19 +02:00
w1nst0n 2224d62c1c List revamp + fix bad array name (#7) 2020-06-22 18:39:09 +02:00
w1nst0n 5f6e5b580c Fixed bad array name (#7) 2020-06-22 18:38:32 +02:00
w1nst0n a16d5762c7 Hotfix (v2.3.1) 2020-06-20 02:38:40 +02:00
w1nst0n ed5a71162e Updated MacOS instructions (see issue #5) 2020-06-20 02:38:23 +02:00
w1nst0n 103ae79bc6 Changed the bash shebang for better portability + bash version check 2020-06-20 02:10:44 +02:00
w1nst0n 7890189707 Fixed a in How to use section 2020-06-19 00:10:16 +02:00
W1nst0n 0a4cb996ee Add LICENSE 2020-06-18 14:35:42 +00:00
w1nst0n 4e0936a697 New Version (v2.3) 2020-06-15 20:37:41 +02:00
w1nst0n bb85fe57c8 Rewrite of the "How to use" section 2020-06-15 20:26:37 +02:00
w1nst0n cc1181ae10 Added an exit error trap + fixed bugs in list_selection & check_backup_integrity 2020-06-15 18:37:44 +02:00
w1nst0n 244e36bbbd Debloat lists update (v2.3) 2020-06-15 15:05:46 +02:00
w1nst0n dd66705ca8 Added Oppo Support + minor fix 2020-06-07 22:05:59 +02:00
w1nst0n 83285623f6 Fixed the console syntax coloration 2020-06-07 15:08:31 +02:00
w1nst0n 9fb83944c0 Improved project description + How to use section 2020-06-07 15:03:49 +02:00
w1nst0n 63895282f5 Improved maintainability & readability + some refactoring 2020-05-21 01:28:37 +02:00
w1nst0n ed1cf930bf Hotfix (v2.2.1) 2020-03-17 19:01:30 +01:00
w1nst0n 65422e92c4 Bugfixes (logs + skipped user input) 2020-03-17 19:01:16 +01:00
w1nst0n 9b51129779 New version (v2.2) 2020-03-17 16:25:36 +01:00
w1nst0n b00c331aaa Code improvement + bugfixes + UI/UX improvement 2020-03-17 16:24:39 +01:00
w1nst0n a0b299fa84 zte support 2020-03-17 16:21:41 +01:00
w1nst0n 0ed437acc4 Moved 55 pending packages to official lists 2020-03-17 16:20:59 +01:00
w1nst0n 19aa26e465 Updated forgotten array names 2020-03-11 22:58:21 +01:00
w1nst0n 16822e93a1 Updated array names to match debloat_script changes + Added 16 packages from the pending list 2020-03-11 22:56:43 +01:00
w1nst0n 8a98e56f00 Updated array name to match debloat_script.sh changes 2020-03-11 22:51:18 +01:00
w1nst0n cab7830a69 Bugfixes + Code improvement & cleaning 2020-03-11 22:46:16 +01:00
w1nst0n b8685af2b5 Update README + spelling corrections 2020-03-04 21:54:24 +01:00
w1nst0n 34ef6d0e36 Fix bug in debloat lists name display. 2020-03-04 21:49:35 +01:00
20 changed files with 5856 additions and 1761 deletions

View file

@ -1,3 +1,301 @@
# New Version (v2.9.1)
## New packages added
- **AOSP** : 1
- **Asus** : 2
- **Google** : 1
- **Carriers** : 3 (AT&T)
- **OnePlus**: 1
- **Pending**: 24
- **Samsung** : 9
- **Xiaomi** : 1
## Bugfixes
- Bash version check not working as expected (#60)
- Debloating/restoring not working if the script was run from the recovery
- Package name typo (!3) (thanks @maximilian.overmeyer!)
- "pm: command not found" when disabling packages (Android 7 [Nougat] and below) (#78)
## Miscellaneous
- Documentation improvement/update for many apps.
- UI/UX improvement for the recovery version of the script
# New Version (v2.9)
**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)
- Connection preferences settings won't open (AOSP list, Pixel 4a / Android 11) (#49)
- Impossible to use a non-root feature after having used a root feature
# Miscellaneous
- App data is now cleared (`pm clear $package`) before root debloat
# Hotfix (v2.8.4)
- Error when remounting `/system` as read-only after a restore/debloat action (#46)
- Package search feature now displays APK path along with the package name
- The APK was not backed-up when you use the manual root debloat feature (`1 - debloat a package`)
- `deleted_apks.txt` not found
- Mounting error on Android 9+ (only fixed for Android 9)
# IMPORTANT NOTE
**Root features do currently not work for Android 10+**. Android 10 has introduced a new dynamic partitioning system
which, in short, prevent to easily mount system filesystem in read-write (use of EXT4 dedup filesystem, which is not writable).
Fortunately, the awesome @topjohnwu (developer of Magisk) found a solution. I'll try to update my script to use the Magisk magic.
# Hotfix (v2.8.3)
- Fix a bug (bad variable name) which basically broke all the non root debloat/restore features.
# Hotfix (v2.8.2)
- Flashable debloat zip not removing anything (oversight on my part after debugging for the first hotfix)
# Hotfix (v2.8.1)
- Flashable zip was broken. I reworked all the generation logic. It is much simpler and correctly works now.
- The script will now force a backup of the apks before generating a flashable zip.
# New Version (v2.8)
Happy new year! :star2:
## Notable changes
- 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)
# New Version (v2.7)
Didn't you notice the last release never found packages to debloat/restore? Well... this works now. It seems all my changes wasn't pushed on the repo.
Altough this release contains almost exclusively bugfixes, it's is not a hotfix as there's also a new feature.
NB: I currently don't have a lot free time so the next *real* release will be in quite some time.
## Notable changes
- New menu entry (`7 - External list`) which enables you to use your own debloat list (#30)
## Bugfixes
- Nothing to debloat message when there is stuff to debloat.
- Compatibility issue with BSD version of `sed` MacOS which prevented the script to generate the debloat lists (#32)
- Backup integrity check always failing (#31)
- Script failed when `Packages search` feature didn't find any package
# New Release (v2.6)
:fallen_leaf: :fallen_leaf: :fallen_leaf: :fallen_leaf: :fallen_leaf: :fallen_leaf:
## Notable changes
- 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`.
# New Release (v2.5.1)
- Fixed an inconsequential typing error
- A more useful error message is now displayed when the phone is not detected by ADB (#18)
# New Release (v2.5)
Big thanks to @plan10, @thekgg and @zxh30b for their nice contributions! :rocket:
## Notable changes
- Big revamp and improvement of the LG list (@zxh30b)
- Big revamp and improvement of the Motorola list (@plan10)
- Revamp of the Samsung list with a proper distinction between default selection and advanced debloat.
- Commented out a motorola package causing a bootloop on a Moto G7 Power
- Qualcomm has now its own list (in `Miscellaneous.sh`) that you can choose inside the `5 - Others` submenu.
## New packages added
- **Carriers** : 2 (AT&T)
- **LG** : 24
- **Miscellaneous** : 7
- **Morotola** : 10
- **Samsung** : 9
- **Pending** : 18
## Pending --> Official lists
- **Samsung** : 1
- **Sony** : 2
- **Huawei** : 6
# Hotfix (v2.4.2)
- Fixed a potential bootloop on samsung phone (#20)
- Improved `com.samsung.klmsagent` description according to #19
# Hotfix (v2.4.1)
- Fixed a mistake causing bootloop on some samsung devices (#16)
# New Release (v2.4)
Big thanks to @yawnoc, @gsurrel, @vasudev_gmk & @gafarma89 ! :+1:
## New packages added
- **AOSP** : 1
- **Google** : 2
- **Samsung** : 23
- **Pending** : 102
## Pending --> Official lists
- **Samsung** : 12
## Miscellaneous
- Nokia list revamp (including documentation improvement and default selections change)
- Documentation improvement of several packages
- Support for Xiaomi devices with `ro.product.brand=redmi` instead of `xiaomi`
## Bugfixes
- Fixed a bug preventing the use of the `1 - debloat/restore a package` menu entry
- Fixed a minor display bug occuring when restoring a package manually
# Hotfix (v2.3.2)
- Fixed LG list not being available for LG devices (#7)
- Fixed AOSP list not being detected (#7)
- AOSP list revamp (including documentation improvement and default selections change)
# Hotfix (v2.3.1)
- Changed the shebang to `#!/usr/bin/env bash` for better portability. MacOS users needs to use a newer bash version. (see #5)
# New Release (v2.3)
## Code improvement
- Refactored much of the script for a cleaner code base.
- Improved maintainability & readability
- Added an error trap
## New manufacturers supported
- **Oppo**: 15 new packages (+ 25 from the pending list)
## New packages added
- **AOSP** : 7
- **Miscellaneous** : 4
- **Google** : 3
- **Sony** : 1
## Pending --> Official lists
- **Samsung** : 16
- **Sony** : 5
- **Oppo** : 26
## Bugfixes
- Force uninstall impossible in legacy mode.
- Some old Kobo devices returned `\t` causing an issue when comparing SDK API version.
- Legacy debloat was broken
- Minor text bug
## Miscellaneous
- Default debloat packages selection adjusted (less breakage for "normal people")
- Remaining packages list (`remaining_packages.txt`) now processed in background
- Improved some packages description
# Hotfix (v2.2.1)
- 2 small nasty bugs fixed.
- `remaining_packages.txt` now only logs system packages.
# New Release (v2.2)
## Bugfixes
- Android version checking (fixed #2).
- Fixed empty list bug when choosing "manufacturer debloat".
- Pending list selection.
- Misc bugs nobody saw because I'm the only user of this script ! :D
## New manufacturers supported
- **Zte**: 2 new packages. (yeah it's not great)
## Pending --> Official lists
- **Miscellaneous** : 47 new packages (including 3 new *Qualcomm* packages)
- **Carriers** : 7 new packages (3 Sprint packages + 4 AT&T Packages)
- **Samsung** : 1 new package
## Miscellaneous
- Code improvements and cleaning.
- Some minor UI/UX improvements.
- Improved documentation for some packages.
- Better error handling. Script should now exit with a useful error output if something went wrong.
- You can now choose separately `Google`, `Facebook`, `Amazon` and `Microsoft` lists.
# New Release (v2.1)
## Alternative method for Android 8.0 and older

674
LICENSE Normal file
View file

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Universal Android Debloater
Copyright (C) 2020 W1nst0n
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Universal Android Debloater Copyright (C) 2020 W1nst0n
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

187
README.md
View file

@ -1,95 +1,182 @@
# This project is no longer maintained!
The whole project has been rewritten in Rust. The Universal Android Debloat is now a real software with a cross-platform GUI. It is still in a early stage of developpement but most features are there. Please do not open new merge requests and issues on this repo.<br>
===> [The new Universal Android Debloat](https://github.com/0x192/universal-android-debloater)
# Universal Android Debloater
**DISCLAIMER**: Use this script at your own risk. I am not responsible for anything that could happen to your phone.
**DISCLAIMER**: Use this script at your own risk. I am not responsible for anything that could happen to your phone.
## Summary
I try to provide and maintain a universal tool which remove bloatwares on any unrooted Android phones.
I try to maintain a universal tool which removes bloatwares on any Android phones by using ADB.
The main goal is to improve battery performance and privacy by limiting the tracking from preinstalled apps. The script has a menu that lets you choose what debloat list you want to use. I strongly encourage you to take a look at the lists because some apps are commented out by default. All packages are as well documented as possible in order to provide the a better understanding of what you can delete or not.
The main goal is to improve battery performance and privacy by removing unnecessary and obscure system apps. This can also contribute to improve security by reducing [the attack surface](https://en.wikipedia.org/wiki/Attack_surface). The script has a menu that lets you choose what debloat list you want to use. I strongly encourage you to take a look at the lists because the default selection may not suit you. All packages are as well documented as possible in order to provide a better understanding of what you can delete or not.
This script *should* be safe with the default selection. The worse thing which could happen is preventing an essential system process to be loaded during boot causing then an unfortunate bootloop. After about 5 failed system boots, the phone will automatically reboot in recovery mode and you'll have to perform a FACTORY RESET.
This script *should* be safe with the default selection. The worse thing which could happen is preventing an essential system process to be loaded during boot causing then an unfortunate bootloop. If you used the non-root solution, after about 5 failed system boots, the phone will automatically reboot in recovery mode and you'll have to perform a FACTORY RESET. So make a backup!
In any case, you can NOT brick your device with this script ! That's the main thing, right ? :smiley:
If you have a rooted device you can also physically delete the apks. Ironically this solution is safer because the script saves the apks before their removal. In case of bootloop you just need to run the script from a recovery with ADB support (e.g TWRP) and restore them.
In any case, you can NOT brick your device with this script! That's the main thing, right?
## Features
* [X] Quick search among all the packages of your phone
* [X] Quick search among all the packages of an android device
* [X] Uninstallation of system/user packages (manually or with the debloat lists)
* [X] Reinstallation of system packages
* [X] ADB backup (not really reliable, see the FAQ)
* [X] Reinstallation of system packages (manually or with the debloat lists)
* [X] ADB backup/restore (not really reliable, see the [FAQ](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/FAQ))
* [X] Device brand detection and auto-selection of the appropriate manufacturer debloat list
* [X] Logs in `debloated_packages.txt` and `remaining_packages.txt`.
* [X] Logging:`debloated_packages.txt`, `remaining_packages.txt`, `deleted_apks.txt` (for root users)
* [X] Root support
* [ ] Installation of alternative open-source apps replacing stock apps (list in the WIKI section) (WIP)
NB : It is NOT a real uninstallation for system apps (see the [FAQ](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/FAQ))
NB : The non-root method is NOT a real uninstallation for system apps (see the [FAQ](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/FAQ))
## Universal debloat lists
* [X] GFAM (Google/Facebook/Amazon/Microsoft)
* [X] AOSP bloat
* [X] Manufacturers bloat
* [X] Mobile carriers bloat
* [X] Miscellaneous bloat
* [X] AOSP
* [X] Manufacturers (OEM)
* [X] Mobile carriers
* [X] Qualcomm / Mediatek / Miscellaneous
## Manufacturers debloat lists
* [ ] Archos
* [X] Asus
* [ ] Blackberry
* [ ] Gionee
* [X] LG
* [X] Google
* [ ] HTC
* [X] Huawei
* [X] Motorola
* [X] Nokia
* [X] OnePlus
* [X] OnePlus
* [X] Oppo
* [X] Samsung
* [X] Sony
* [ ] TCL
* [ ] Wiko
* [X] Xiaomi
* [ ] ZTE
## Mobile carriers debloat lists
|**France** | **USA** |**Germany** |
|:---------------:|:--------:|:----------:|
| Orange | T-Mobile | Telekom |
| SFR | Verizon | |
| Free | Sprint | |
| Bouygues / Sosh | AT&T | |
## Mobile carriers debloat lists
| Country | Carriers |
|-----------------|-----------------------------------|
| France | Orange, SFR, Free, Bouyges/Sosh |
| USA | T-Mobile, Verizon, Sprint, AT&T |
| Germany | Telekom |
## How to use it
- **Read the [FAQ](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/FAQ) !!**
- **Do a proper backup of your data ! You can never be too careful !**
- **Read the [FAQ](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/FAQ)!**
- **Do a proper backup of your data! You can never be too careful!**
- Enable *Developer Options* on your smartphone.
- Turn on *USB Debugging*.
- Turn on *USB Debugging* from the developper panel.
- From the settings, disconnect from any OEM accounts (when you delete OEM account package it could lock you on the lockscreen because the phone can't associate your identity anymore)
<p>
<details>
<summary>LINUX</summary>
### LINUX
- Install *Android plateform tools* with your package manager :
- Install *Android platform tools* and *qpdf* on your PC :
Debian Base :
```console
apt-get install android-sdk-platform-tools
```
Arch-Linux Base :
```console
pacman -S android-tools
```
- Go to the release section, download the lastest release and enjoy :
Debian Base:
```bash
$ sudo apt install android-sdk-platform-tools qpdf zip
```
bash debloat_script.sh
Arch-Linux Base:
```bash
$ sudo pacman -S android-tools qpdf zip
```
Red Hat Base:
```bash
$ sudo yum install android-tools qpdf zip
```
</details>
</p>
<p>
<details>
<summary>MAC OS</summary>
- Install [Homebrew](https://brew.sh/)
- Install *Android platform tools* and *qpdf*
You will also need to upgrade bash because Apple ships a very old bash version (3.2.57) due to licencing issues.
```bash
$ brew install android-platform-tools qpdf bash
```
</details>
</p>
<p>
<details>
<summary>WINDOWS</summary>
Windows can't natively run bash script. Choose a workaround:
## Method 1: Live Linux USB
Create a Linux Live USB. Boot your computer on it and follow the instructions of the `LINUX` section. If you are a new to Linux, this will be a good opportunity to discover this wonderful OS. I recommend Linux Mint: [Instructions](https://itsfoss.com/install-linux-mint/)
**Note:** Just in case, I recall that you don't need to install Linux on your computer. You can do whatever your want direclty on the Live USB.
## Method 2: WSL (W10 only)
This method consists of installing WSL, a compatibility layer for running Linux binary executables natively on Windows 10.
For now, there is no USB support in the WSL. This means you need to install both Windows and Linux platform-tools and force the use of Windows adb server.
- Download [android platform tools](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) and unzip it somewhere. [Add the folder to your PATH](https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/).
- [Install USB drivers of your device](https://developer.android.com/studio/run/oem-usb#Drivers)
- Check your device is detected:
```batch
> adb devices
```
### WINDOWS
- Install [WSL (Windows Subsystem for Linux)](https://itsfoss.com/install-bash-on-windows/) in order to be able to use bash script.
- Install [ADB](https://dl.google.com/android/repository/platform-tools-latest-windows.zip). If you want ADB support everywhere on your PC, you need to add the path of ADB folder in the system variables (see [this](https://www.xda-developers.com/adb-fastboot-any-directory-windows-linux/)).
- Go to the release section and download the lastest release.
- Execute the script from the Ubuntu bash shell et voilà !
- Install [WSL2 (Windows Subsystem for Linux)](https://itsfoss.com/install-bash-on-windows/) in order to be able to run bash scripts.
- Install *Android platform tools* and *qpdf* from the Debian/Ubuntu shell
```bash
$ sudo apt update && sudo apt upgrade
$ sudo apt install android-sdk-platform-tools qpdf zip
```
bash debloat_script.sh
- Check the version of ADB on Linux & Windows
```bash
adb version
```
You need the same version otherwise it will not work. It's very likely your Ubuntu/Debian ADB version is older than the Windows one.
Download the lastest linux platform tools from Google and replace your adb binaries with the new ones :
```bash
$ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
$ unzip platform-tools-latest-linux.zip
$ sudo cp platform-tools/adb /usr/bin/adb
$ sudo chmod 755 /usr/bin/adb
$ adb version
```
Kill the WSL adb server:
```bash
$ adb kill-server
```
And start the ADB server on Windows:
```batch
> adb kill-server
> adb start-server
> adb devices
```
Note: You can access your Windows files under `/mnt/c/`
</details>
</p>
- Download [the lastest release of Android Universal Debloater](https://gitlab.com/W1nst0n/universal-android-debloater/-/releases).
- Browse through the debloat lists to be sure the default selection suits you.
- Run `debloat_script.sh` from a Unix terminal.
```bash
$ bash debloat_script.sh
```
- **Don't forget to check the debloat lists to see what are my default choices and to avoid any bad surprises.**
**NOTE:** Chinese phones users may need to use the AOSP list for removing some stock apps because those chinese manufacturers (especially Xiaomi and Huawei) have been using the name of AOSP packages for their own (modified & closed-source) apps.
**IMPORTANT NOTE:** You will have to run this script whenever your OEM push an update to your phone as some *uninstalled* system apps could be reinstalled.
## How to contribute
Hey-hey-hey! Don't go away so fast! This is a community project. That means I need you! I'm sure you want to make this project better anyway.
==> [How to contribute](https://gitlab.com/W1nst0n/universal-android-debloater/-/wikis/home#how-to-contribute)

898
debloat_script.sh Executable file → Normal file
View file

@ -1,222 +1,754 @@
#!/bin/bash
#!/usr/bin/env bash
# BASH 4.3 or newer is needed ! (use of locale -n)
# BASH 4.4 or newer is needed!
if (( "${BASH_VERSINFO[0]}" < 4 || ("${BASH_VERSINFO[0]}" == 4 && "${BASH_VERSINFO[1]}" < 4) )); then
printf "\n%s\n\n" "Please upgrade to a bash version >= 4.4" && exit 1;
fi
if ! adb get-state &>/dev/null; then printf "\n%s\n\n" "Your phone is not detected by ADB." && exit 1; fi
set -Eeuo pipefail # Safer bash script
readonly BRED='\033[1;31m' # Bold + Red
readonly BBLUE='\033[0;34m' # Bold + Blue
readonly BGREEN='\033[1;32m'
readonly BORANGE='\033[1;33m'
readonly NC='\033[0m' # No Color
readonly Bold=$(tput bold)
readonly nBold=$(tput sgr0)
# Trap error
trap 'catch $LINENO' ERR
catch() {
(( $? == 0 )) && exit 0;
printf "\n\n${BRED}%s\n" "[EXIT TRAP] Hum... something is wrong. Error on line $1"
printf "\n%s\n" "If you think this is a bug. Please report it :)"
printf "%s${NC}\n\n" "==> https://gitlab.com/W1nst0n/universal-android-debloater/-/issues"
}
# Include debloat lists
for file in ./lists/* ; do
if [ -f "$file" ] ; then . "$file"; fi
done
# Colors used for printing
RED='\033[0;31m'
BLUE='\033[0;34m'
BBLUE='\033[1;34m'
GREEN='\033[0;32m'
ORANGE='\033[0;33m'
NC='\033[0m' # No Color
Bold=$(tput bold)
nBold=$(tput sgr0)
############################################### MAIN SCRIPT ##########################################################
main() {
readonly VERSION="v2.9.2 (March 30th 2021)"
readonly PAD=$(((48-${#VERSION})/2))
function debloat {
readonly BRAND="$(get_brand)"
readonly BRAND_SUPPORTED=$( declare -p "$BRAND" &>/dev/null && echo "1" || echo "0")
# user choice : restore/debloat
local user_choice=""
[[ $action_arg = 'r' ]] && user_choice='cmd package install-existing $package' || user_choice='pm uninstall $option_needed $package'
readonly OLDER_THAN_ANDROID_8=$(( $(adb shell getprop ro.build.version.sdk | tr -d '\r') < 26 ))
readonly OLDER_THAN_ANDROID_5=$(( $(adb shell getprop ro.build.version.sdk | tr -d '\r') < 21 ))
readonly NEWER_THAN_ANDROID_9=$(( $(adb shell getprop ro.build.version.sdk | tr -d '\r') >= 29 ))
# Android 7.1 and older can't reinstall packages
if [[ $(adb shell getprop ro.build.version.release) < 8.0 && "$force_uninstall" = "0" ]]; then
[[ $action_arg = 'r' ]] && user_choice='pm enable $package' || user_choice='pm disable-user $package && am force-stop $package && pm clear $package'
fi
readonly SYSTEM_MOUNT_POINT=$(adb shell getprop ro.build.system_root_image | grep "true" && echo "/system_root" || echo "/system")
local -n list=$1 # list is a nameref. Array is passed by reference.
clear
printf "\n${RED}${Bold}=== $brand debloat list ===${nBold}${NC}\n"
for package in "${list[@]}"; do
printf "${RED}$package${NC} --> "
local output=$(eval adb shell $user_choice)
echo "$output"
if [[ "$output" != "Failure" ]]; then echo "$package" >> "debloated_packages.txt"; fi
done
declare -a CUSTOM_LIST=() # Trimed APK/package list only containing packages/APK on the device (populated by generate_custom_list())
declare -a EXTERNAL_LIST=() # APK/package list provided by the user (populated by import_external_list())
declare -a USERS=() # User list (populated by debloat_or_restore())
declare -ra LISTS=(us_carriers french_carrier german_carriers "$BRAND" google facebook amazon microsoft \
qualcomm mediatek misc aosp pending EXTERNAL_LIST)
declare -i FORCE_UNINSTALL=0
declare -i RESTORE=0
declare -i ROOT=0
clear
printf "\n${BORANGE}%s\n" "================================================"
printf "%s\n" "# #"
printf "%-8s${NC}%s${BORANGE}%8s\n" "#" "UNIVERSAL ANDROID DEBLOAT SCRIPT" "#"
printf "%s\n" "# #"
printf "%-${PAD}s${BRED}%s${BORANGE}%${PAD}s\n" "#" "${VERSION}" "#"
printf "%s\n" "# #"
printf "%s${NC}\n\n" "================================================"
printf "${Bold}%s\n\n" "Please carefully read the FAQ before using this script!"
if [[ $(adb get-state) = "recovery" ]]; then uad_recovery_mode || exit; fi
printf "%s${nBold} " "Do you want to do an ADB backup ? [Y/N]"
read -r
if [[ $REPLY =~ [Yy]+[Ee]*[Ss]* ]]; then backup; fi
if (( OLDER_THAN_ANDROID_8 )); then
clear
printf "\n${BRED}%s " "WARNING : Your android version is too old (< 8.0)."
printf "%s${NC}\n\n" "Uninstalled packages can't be restored."
printf "%s" "The script will force-disable the apps instead of uninstalling them "
printf "%s\n\n" "so that you can restore them if needed"
printf "%s " "If you still want to force-uninstall the apps, type '1' ('0' otherwise):"
read -r -n 1 FORCE_UNINSTALL
fi
while true; do
adb shell 'pm list packages -s' | sed 's/package://g' > remaining_packages.txt &
clear -x
printf "\n${BORANGE}%s\n" "================== MAIN MENU =================="
printf "%s\n" "# #"
printf "%-12s${NC}%s${BORANGE}%16s\n" "#" "0 - Packages search" "#"
printf "%-12s${NC}%s${BORANGE}%15s\n" "#" "1 - Restore a backup" "#"
printf "%-12s${NC}%s${BORANGE}%15s\n" "#" "2 - Restore packages" "#"
printf "%-12s${NC}%s${BORANGE}%15s\n" "#" "3 - Debloat packages" "#"
printf "%s\n" "# #"
printf "%-12s${NC}%s${BORANGE}%12s\n" "#" "4 - Restore APKs (Root)" "#"
printf "%-12s${NC}%s${BORANGE}%12s\n" "#" "5 - Debloat APKs (Root)" "#"
printf "%s\n" "# #"
printf "%-12s${NC}%s${BORANGE}%6s\n" "#" "X - Exit and reboot the phone" "#"
printf "%s\n" "# #"
printf "%s${NC}\n\n" "================================================="
printf "${BRED}%s${NC}\n\n" "DON'T FORGET TO REBOOT YOUR PHONE ONCE THE DEBLOAT IS OVER."
read -r -p "Choose an action : "
if [[ $REPLY = 0 ]]; then list_installed_packages;
elif [[ $REPLY = 1 ]]; then restore_backup;
elif [[ $REPLY = 2 || $REPLY = 3 || $REPLY = 4 || $REPLY = 5 ]]; then
clear -x
(( !BRAND_SUPPORTED )) && printf "\n${BRED}%s${NC}\n" "No $BRAND debloat list found. Feel free to contribute ! :)"
case $REPLY in
2) { title="RESTORE"; RESTORE=1; ROOT=0; };;
3) { title="DEBLOAT"; RESTORE=0; ROOT=0; };;
4) { title="RESTORE"; RESTORE=1; ROOT=1; };;
5) { title="DEBLOAT"; RESTORE=0; ROOT=1; };;
esac
if (( ROOT && NEWER_THAN_ANDROID_9 )); then
magisk_module
continue
fi
if (( ROOT )); then
printf "\n%s\n" "The script will physically $title the apks from your phone"
printf "%s${BBLUE}%s${NC}%s\n" "Do you prefer to use a " "Magisk " "module for a systemless $title instead? [y/n]"
read -r
if [[ $REPLY =~ [Yy] ]]; then
magisk_module
continue
fi
fi
((!ROOT)) && printf "\n${BORANGE}%s\n" "=================== $title ==================="
(( ROOT )) && printf "\n${BORANGE}%s\n" "================ $title (ROOT) ==============="
printf "%s\n" "# #"
printf "%-12s${NC}%s${BORANGE}%14s\n" "#" "1 - $title a package" "#" | awk '{print tolower($0)}'
(( BRAND_SUPPORTED )) && printf "#${NC}%7s 2 - ${BRAND} %$((25-${#BRAND}))s ${BORANGE} #\n"
printf "%-12s${NC}%s${BORANGE}%27s\n" "#" "3 - GFAM" "#"
printf "%-12s${NC}%s${BORANGE}%23s\n" "#" "4 - Carriers" "#"
printf "%-12s${NC}%s${BORANGE}%25s\n" "#" "5 - Others" "#"
printf "%-12s${NC}%s${BORANGE}%27s\n" "#" "6 - AOSP" "#"
printf "%-12s${NC}%s${BORANGE}%18s\n" "#" "7 - External list" "#"
(( ROOT && !RESTORE )) && printf "#${NC}%7s 8 - Create a flashable zip${BORANGE}%7s #\n"
printf "%s\n" "# #"
printf "%-12s${NC}%s${BORANGE}%15s\n" "#" "0 - Pending list /!\\" "#"
printf "%s\n" "# #"
printf "%s\n${NC}\n" "================================================="
read -r -p "Your selection (e.g: 2 3 4 5): "
if [[ "$REPLY" =~ 7 ]]; then import_external_list && debloat_or_restore EXTERNAL_LIST; fi
if [[ "$REPLY" =~ 4 ]]; then lists_selection us_carriers french_carriers german_carriers; fi
if [[ "$REPLY" =~ 3 ]]; then lists_selection google facebook amazon microsoft; fi
if [[ "$REPLY" =~ 1 ]]; then debloat_or_restore; fi
if [[ "$REPLY" =~ 2 ]]; then debloat_or_restore "$BRAND"; fi
if [[ "$REPLY" =~ 5 ]]; then lists_selection qualcomm mediatek misc; fi
if [[ "$REPLY" =~ 6 ]]; then debloat_or_restore aosp; fi
if [[ "$REPLY" =~ 8 ]]; then create_flashable_zip; fi
if [[ "$REPLY" =~ 0 ]]; then debloat_or_restore pending; fi
elif [[ "$REPLY" =~ [Xx] ]]; then adb reboot && exit 0;
fi
done
}
function carrier_choice {
clear
echo "1 - US_carriers"
echo "2 - French carriers"
echo "3 - German carriers"
printf "\n${RED}${Bold}Your choice : ${nBold}${NC}"
read -n 1
case $REPLY in
1) [[ $action_arg = 'r' ]] && debloat us_carriers_bloat || debloat us_carriers_bloat ;;
2) [[ $action_arg = 'r' ]] && debloat french_carriers_bloat || debloat french_carriers_bloat ;;
3) [[ $action_arg = 'r' ]] && debloat german_carriers_bloat || debloat german_carriers_bloat ;;
esac
############################################ END OF MAIN SCRIPT ######################################################
import_external_list() {
local path=""
while true; do
printf "\n${BRED}%s${NC}" "Path to the list: "
read -r path
if readarray -t EXTERNAL_LIST < "$path"; then break; fi
done
for i in "${EXTERNAL_LIST[@]}"; do
if [[ $ROOT -eq 1 && $RESTORE -eq 0 && $i =~ ^/.*\.apk$ ]]; then
printf "\n${BRED}%s${NC}\n\n" "Please use a package list, not an APK list"
exit 1
elif [[ $ROOT -eq 0 && ! $i =~ ^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)+[0-9a-zA-Z_]$ ]]; then
printf "\n${BRED}%s${NC}%s${BRED}%s${NC}%s\n\n" "$i" " is not a package (format is" " com.android.bips" ")"
exit 1
elif [[ $ROOT -eq 1 && $RESTORE -eq 1 && ! $i =~ ^/.*\.apk$ ]]; then
printf "\n${BRED}%s${NC}\n\n" "Please use an APK list"
exit 1
fi
done
}
function list {
clear
printf "\n${RED}${Bold}Search for packages (grep used):${nBold}${NC} "
read
printf "\n"
adb shell "pm list packages | grep -i $REPLY" | sed -r 's/package://g' | sort
echo
printf "\e[5mPress any key to continue\033[0m"
read -n 1 -s
associate_path_with_package() {
local -n ASSOCIATE="$1"
declare -a PACKAGES=()
readarray -t PACKAGES < <(adb shell 'pm list packages -s -u -f' | sed -r 's/package://g' | sort -i)
for i in "${PACKAGES[@]}"; do
ASSOCIATE["${i##*=}"]="${i%=*}"
done
}
function remove_or_install_one {
local choice=""
local user_choice=''
if [[ $action_arg = 'r' ]];
then choice="restore"; user_choice='cmd package install-existing $REPLY';
else choice="uninstall"; user_choice='pm uninstall $option_needed $REPLY';
fi
generate_custom_list() {
clear -x
local -n list="$1"
[[ $# -eq 2 ]] && local user_id="$2"
CUSTOM_LIST=()
# Android 7.1 and older can't reinstall packages
if [[ $(adb shell getprop ro.build.version.release) < 8.0 && "$force_uninstall" = "0" ]]; then
[[ $action_arg = 'r' ]] && user_choice='pm enable $REPLY' || user_choice='pm disable-user $REPLY && am force-stop $REPLY && pm clear $REPLY'
fi
if (( ROOT )); then
declare -A PACKAGE_AND_PATH=() # PACKAGE_AND_PATH[package]=path/to/apk
declare -a TEMP=()
associate_path_with_package PACKAGE_AND_PATH
clear
printf "\n${RED}${Bold}Package name to $choice :${nBold}${NC} "
read
local output=$(eval adb shell $user_choice)
echo "$output"
if [[ "$output" != "Failure" ]]; then echo "$REPLY" >> "debloated_packages.txt"; fi
readarray -t TEMP < <(comm -12 <(for p in "${list[@]}"; do echo "${p}"; done|sort -i) \
<(for p in "${!PACKAGE_AND_PATH[@]}"; do echo "$p"; done|sort -i))
[[ RESTORE -ne 1 ]] && printf "\n${BGREEN}%s${NC}\n\n" "Clearing app data..."
for p in "${TEMP[@]}"; do
[[ RESTORE -ne 1 ]] && printf "${BBLUE}%s${NC}" "$p --> " && adb shell "pm clear $p"
CUSTOM_LIST+=("${PACKAGE_AND_PATH[$p]}")
done
if [[ $RESTORE -eq 1 ]]; then
if [[ ${#CUSTOM_LIST[@]} -eq 0 ]]; then
readarray -t CUSTOM_LIST <(sort -i deleted_apks.txt)
else
readarray -t CUSTOM_LIST < <(comm -12 <(for p in "${CUSTOM_LIST[@]}"; do echo "${p}"; done|sort -i) \
<(sort -i deleted_apks.txt))
fi
fi
else
if (( RESTORE )); then
readarray -t CUSTOM_LIST < <(comm -12 <(for p in "${list[@]}"; do echo "${p}"; done|sort -i) \
<(adb shell "pm list packages -s -u $user_id" | sed 's/package://g' | sort -i))
else
readarray -t CUSTOM_LIST < <(comm -12 <(for p in "${list[@]}"; do echo "${p}"; done|sort -i) \
<(adb shell "pm list packages -s $user_id" | sed 's/package://g' | sort -i))
fi
fi
return 0
}
function restore {
clear
printf "${RED}${Bold}Enter the path of the backup to restore :${nBold}${NC}"
read
[[ "$(check_backup_integrity $REPLY)" = "${GREEN}${Bold}OK${nBold}${NC}\n" ]] && adb restore $REPLY || printf "${RED}${Bold}The backup is corrupted${nBold}${NC}\n"
debloat_or_restore() {
local action="" # restore or debloat
local output=""
local title=$( echo "$title" | tr '[:upper:]' '[:lower:]')
(( RESTORE )) && action='cmd package install-existing $package' || action='pm uninstall $user $package'
# Android 7.1 and older can't reinstall packages
if (( OLDER_THAN_ANDROID_8 )); then
if (( RESTORE )); then
action='pm enable $package'
elif (( !FORCE_UNINSTALL )); then
action='am force-stop $package && pm disable-user $package && pm clear $package'
fi
fi
# parse user list on the phone
readarray -t USERS < <(adb shell pm list users | grep -o "{[0-9]*" | grep -o "[0-9]*")
clear -x
if [[ $# -gt 0 ]]; then
local list="$1"
printf "\n${BORANGE}%s${NC}\n" "==== $list debloat list ===="
if (( ROOT )); then
touch -a deleted_apks.txt
generate_custom_list "$list"
if (( RESTORE )); then restore_apks "$list"; else root_debloat "$list"; fi
return
fi
for u_num in "${USERS[@]}"; do
local user=$( ((OLDER_THAN_ANDROID_5)) && echo "" || echo "--user $u_num" )
generate_custom_list "$list" "$user"
if [[ ${#CUSTOM_LIST[@]} -eq 0 ]]; then
printf "${BBLUE}%s${NC}%s" "[user $u_num]" " Nothing to $title :)" && sleep 1 && continue
fi
for package in "${CUSTOM_LIST[@]}"; do
do_package_action_and_log
done
done
sleep 1
else
if (( ROOT )); then
touch -a deleted_apks.txt
if (( RESTORE )); then restore_apks; else root_debloat; fi
return
fi
printf "\n${BRED}%s${NC}" "Package name to $title: "
read -r package
for u_num in "${USERS[@]}"; do
local user=$( ((OLDER_THAN_ANDROID_5)) && echo "" || echo "--user $u_num" )
do_package_action_and_log
done
sleep 1
fi
}
function check_backup_integrity {
set -o pipefail
printf "\n${BBLUE}\n[($1)] Backup integrity checking : \n${NC}";
dd if="$1" bs=24 skip=1 | zlib-flate -uncompress | tar tf - >/dev/null;
[[ $? = 0 ]] && printf "${GREEN}${Bold}OK${nBold}${NC}\n\n" || printf "${RED}${Bold}FAILED${nBold}${NC}\n\n"
printf "\e[5m Press any key to continue\033[0m"
read -n 1 -s
do_package_action_and_log() {
printf "${BBLUE}%s${BRED}%s${NC}%s" "[user $u_num] " "$package --> "
output="$(eval adb shell "\"$action\"")" && echo "$output"
if [[ ! "$output" =~ Failure|Error ]]; then
if [[ $RESTORE -eq 0 ]]; then
grep -qxF "$package" debloated_packages.txt || echo "$package" >> "debloated_packages.txt"
else
grep -qFv "$package" debloated_packages.txt > temp.tmp || touch temp.tmp; mv temp.tmp debloated_packages.txt
fi
fi
}
function brand_detection {
local brand=$(adb shell getprop ro.product.brand)
if [[ $brand>0 ]]; then
case $brand in
"asus")
echo "asus_bloat" ;;
"huawei")
echo "huawei_bloat" ;;
"lg")
echo "lg_bloat" ;;
"motorola")
echo "motorola_bloat" ;;
"nokia")
echo "nokia_bloat" ;;
"oneplus")
echo "oneplus_bloat" ;;
"samsung")
echo "samsung_bloat" ;;
"sony")
echo "sony_bloat" ;;
"xiaomi")
echo "xiaomi_bloat" ;;
*)
echo "Brand not supported (yet)" ;;
esac
fi
backup_apks() {
printf "\n%s${BRED}%s${NC}%s\n\n" "Your apks are beeing backed-up in" " apks_backup/" " (in case you mess up)"
local -n apks="$1"
mkdir -p apks_backup
for apk in "${apks[@]}"; do
if ! adb pull "$apk" apks_backup/; then
printf "\n${BRED}%s${NC}%s\n" "$apk" " cannot be found on the phone!"
printf "\n${BRED}%s${NC}\n\n" "APKs backup failed" && exit 1
fi
done
printf "\n${BGREEN}%s${NC}\n\n" "Backup done!"
}
clear
printf "\n ================================================\n"
printf " # #\n"
printf " # UNIVERSAL ANDROID DEBLOAT SCRIPT #\n"
printf " # #\n"
printf " # %10s${RED}${Bold}v2.0 (February 4th 2020)${nBold}%11s#\n"
printf " # #\n"
printf " ================================================\n"
echo
create_flashable_zip() {
clear -x
declare -a selection=()
local UPDATE_BINARY="META-INF/com/google/android/update-binary"
adb devices
printf "${RED}${Bold}Please carefully read the FAQ before using this script!\n\n${NC}"
printf "Do you want to do an ADB backup ? [Yes/No] ?\n\n${nBold}"
read -r
if [[ $REPLY =~ [Yy]+[Ee]*[Ss]* ]]; then
clear;
backup=$(date +%Y-%m-%d-%H:%M:%S)
adb backup -apk -all -system -f "${PHONE:-phone}-${backup}.adb" # -noshare option is default
echo
read -n 1 -s -p "Press a key when the backup is done (your phone will tell you)"
check_backup_integrity "${PHONE:-phone}-${backup}.adb";
fi
echo
for i in "${!LISTS[@]}"; do
printf "%-2s%s\n" "$i" " - ${LISTS[$i]}"
done
brand=$(brand_detection)
space=$((25-${#brand}))
if [[ $space =~ "-" ]]; then space="0"; fi
printf "\n${BRED}%s${NC} " "Your choice (e.g 1 2 3) :"
read -r -a selection
# --user 0 option doesn't exist in Android SDK API version < 20
option_needed=""
if [[ $(adb shell getprop ro.build.version.sdk) > 20 ]]; then option_needed="--user 0"; fi
for i in "${selection[@]}"; do
if [[ "${LISTS[$i]}" == EXTERNAL_LIST ]]; then
import_external_list
fi
done
while true; do
mkdir -p META-INF/com/google/android/
echo "#!/sbin/sh" > "$UPDATE_BINARY"
clear;
if [[ $(adb shell getprop ro.build.version.release) < 8.0 ]]; then
printf "${RED}${Bold}WARNING : Your android version is too old (< 8.0). Uninstalled packages can't be restored.\n";
printf "By default the script will force-disable the apps instead of uninstalling them so that you can restore them if needed\n\n"
printf "If you still want to force-uninstall the apps, type '1' ('0' otherwise): ${NC}"
read $force_uninstall
fi
clear;
printf "\n${Bold}${ORANGE}=================== MAIN MENU ===================\n"
printf "# ${ORANGE} #\n"
printf "#${nBold}${NC}%12s 0 - List packages ${ORANGE} #\n"
printf "#${NC} 1 - Restore packages ${ORANGE} #\n"
printf "#${NC} 2 - Restore a save ${ORANGE} #\n"
printf "#${NC} 3 - Debloat packages ${ORANGE} #\n"
printf "#${NC} ${ORANGE} #\n"
printf "${Bold}===================================================${NC}${nBold}\n\n"
echo "echo 'ui_print --- Universal Android Debloater ---' > /proc/self/fd/\$2" >> "$UPDATE_BINARY"
echo "mount $SYSTEM_MOUNT_POINT" >> "$UPDATE_BINARY"
printf "${RED}${Bold}DON'T FORGET TO REBOOT YOUR PHONE ONCE THE DEBLOAT IS OVER. ${nBold}${NC}\n\n"
read -p "${Bold}Choose an action : ${nBold}" action
echo
declare -i is_empty=1
if [[ $action = 0 ]]; then list; fi
for list in "${selection[@]}"; do
if (( list > ${#LISTS[@]} )) || (( list < 1 )); then continue; fi
if [[ $action = 2 ]]; then restore; fi
generate_custom_list "${LISTS[$list]}"
backup_apks CUSTOM_LIST
if [[ $action = 1 || $action = 3 ]]; then
clear
title="DEBLOAT"
action_arg=''
if [[ $action = 1 ]]; then title="RESTORE"; action_arg='r'; fi
for package in "${CUSTOM_LIST[@]}"; do
echo "rm -rf $package" >> "$UPDATE_BINARY"
done
printf "\n${Bold}${ORANGE}==================== $title ====================\n"
printf "# ${ORANGE} #\n"
printf "#${NC} 1 - $title a package ${ORANGE} %-6s#\n" | awk '{print tolower($0)}'
printf "#${nBold}${NC}%12s 2 - ${brand} %${space}s ${ORANGE} #\n"
printf "#${NC} 3 - GFAM ${ORANGE} #\n"
printf "#${NC} 4 - Carriers ${ORANGE} #\n"
printf "#${NC} 5 - Others ${ORANGE} #\n"
printf "#${NC} 6 - AOSP ${ORANGE} #\n"
printf "#${NC} ${ORANGE} #\n"
printf "#${NC} -1 - Pending list /!\\ %4s ${ORANGE} #\n"
printf "#${NC} ${ORANGE} #\n"
printf "${Bold}===================================================${NC}${nBold}\n\n"
read -p "${Bold}Your selection (e.g: 2 3 4 5 6): ${nBold}" action
echo
[[ $is_empty -eq 1 && ${#CUSTOM_LIST[@]} -gt 0 ]] && is_empty=0
done
if [[ "$action" =~ 4 ]]; then carrier_choice; fi
if [[ "$action" =~ -1 ]]; then debloat pending; fi
if [[ "$action" =~ 1 ]]; then remove_or_install_one; fi
if [[ "$action" =~ 2 ]]; then debloat; fi
if [[ "$action" =~ 3 ]]; then debloat google_bloat && debloat microsoft_bloat && debloat amazon_bloat && debloat facebook_bloat; fi
if [[ "$action" =~ 5 ]]; then debloat misc_bloat; fi
if [[ "$action" =~ 6 ]]; then debloat aosp_bloat; fi
fi
if [[ $is_empty -eq 1 ]]; then
printf "\n${BRED}%s${NC}\n" "Nothing to debloat!"
rm -rf META-INF/
else
echo "umount $SYSTEM_MOUNT_POINT" >> "$UPDATE_BINARY"
echo "echo 'ui_print ----- ALL DONE -----' > /proc/self/fd/\$2" >> "$UPDATE_BINARY"
zip -rm flashable_zip_UAD_${VERSION%%[[:space:]]*}.zip META-INF/ 1>/dev/null
printf "\n${BGREEN}%s${NC}%s\n" "flashable_zip_UAD_$VERSION.zip" " has been generated."
fi
adb shell 'pm list packages' | sed -r 's/package://g' | sort > remaining_packages.txt
sleep 2
}
done
restore_apks() {
declare -a path=()
if [[ $# -eq 1 ]]; then
[[ ${#CUSTOM_LIST[@]} -eq 0 ]] && echo "Nothing to restore" && sleep 1 && return
printf "\n%s${BBLUE}%s${NC}%s${BBLUE}%s${NC}\n\n" "Deleted apks from " "$list" " will be restored from " "apks_backups/"
printf "\n${BRED}%s${NC}\n\n" "Check your phone: Magisk Manager is probably asking you to grand root permissions for ADB"
else
printf "\n%s${BRED}%s${NC}%s" "Android Path of the APK to restore (the APK will be restored from " "apks_backups/" "): "
read -r path
if [[ ! $path =~ ^/.*\.apk$ ]]; then
printf "\n${BRED}%s${NC}%s${BRED}%s${NC}%s\n" "$path" "doesn't look like a valid APK path"
sleep 2 && return 0
fi
CUSTOM_LIST=("$path")
fi
if [[ $NEWER_THAN_ANDROID_9 -eq 1 ]]; then
magisk_module
return
fi
adb shell "su -c \"mount -o rw,remount $SYSTEM_MOUNT_POINT\""
for p in "${CUSTOM_LIST[@]}"; do # $p = path/to/app.apk
local apk=$(echo "$p" | sed -r 's/.*\///g') # app.apk
local dir=$(dirname "$p") # path/to
if adb push "apks_backup/$apk" /sdcard && adb shell "su -c 'mkdir -p \"$dir\"; mv \"/sdcard/$apk\" \"$dir\"; chmod 644 \"$p\"'"; then
grep -Fqv "$p" deleted_apks.txt > temp.tmp || touch temp.tmp; mv temp.tmp deleted_apks.txt
fi
done
adb shell "su -c \"mount -f -o ro,remount $SYSTEM_MOUNT_POINT\""
printf "\n${BRED}%s${NC}%s\n" "Reboot your phone and Android will reinstall the app(s)"
printf "\n\e[5m%s\033[0m" "Press any key to continue"
read -n 1 -r -s
}
root_debloat() {
local method=""
if [[ $# -eq 1 ]]; then
[[ ${#CUSTOM_LIST[@]} -eq 0 ]] && echo "Nothing to debloat :)" && sleep 1 && return 0
else
printf "\n${BRED}%s${NC}" "Android Path of the APK to delete: "
read -r path
if [[ ! $path =~ ^/.*\.apk$ ]]; then
printf "\n${BRED}%s${NC}%s${BRED}%s${NC}%s\n" "$path" " doesn't look like a valid APK path"
sleep 2 && return 0
fi
CUSTOM_LIST=("$path")
fi
backup_apks CUSTOM_LIST
read -r -p "Type YES if you want to physically delete the apk(s): "
if [[ $REPLY = "YES" ]]; then
if [[ $NEWER_THAN_ANDROID_9 -eq 1 ]]; then
magisk_module 1
return
fi
local commandes="mount -o rw,remount $SYSTEM_MOUNT_POINT;"
for apk in "${CUSTOM_LIST[@]}"; do
grep -qxF "$apk" deleted_apks.txt || echo "$apk" >> "deleted_apks.txt"
commandes+="echo \"rm -rf $apk\"; rm -rf \"$apk\";"
done
commandes+="mount -f -o ro,remount $SYSTEM_MOUNT_POINT"
printf "\n${BRED}%s${NC}\n\n" "Check your phone: Magisk Manager is probably asking you to grand root permissions for ADB"
adb shell "su -c '$commandes'"
printf "\n${BRED}%s${NC}\n" "DONE"
printf "\n%s${BRED}%s${NC}\n" "A list of deleted apks has been backed-up in " "deleted_apks.txt"
printf "\n\e[5m%s\033[0m" "Press any key to continue"
read -n 1 -r -s
fi
}
magisk_module() {
clear -x
declare -a selection=()
declare -i is_empty=1
echo
if (( !RESTORE )); then
for i in "${!LISTS[@]}"; do
printf "%-2s%s\n" "$i" " - ${LISTS[$i]}"
done
printf "\n${BRED}%s${NC} " "Your choice (e.g 1 2 3) :"
read -r -a selection
for i in "${selection[@]}"; do
if [[ "${LISTS[$i]}" == EXTERNAL_LIST ]]; then
import_external_list
fi
done
else
printf "%-2s%s\n" "1" " - deleted_apks.txt"
printf "%-2s%s\n" "2" " - EXTERNAL_LIST"
printf "\n${BRED}%s${NC} " "Your choice :"
read -r
selection=(1)
case $REPLY in
1) readarray -t CUSTOM_LIST < deleted_apks.txt ;;
2) { import_external_list && CUSTOM_LIST=("${EXTERNAL_LIST[@]}"); } ;;
*) exit 1 ;;
esac
fi
touch -a deleted_apks.txt
rm -r MAGISK_MODULE || true
mkdir MAGISK_MODULE
cd "$_"
local -r MODULE_DIR=$(pwd)
cat << EOF > module.prop
id=universal-android-debloater
name=Universal Android Debloater Magisk Flashable zip
version=1.0
versionCode=1000
author=w1nst0n
description=custom root debloat script
EOF
mkdir -p META-INF/com/google/android/ && cd "$_"
wget -q https://raw.githubusercontent.com/topjohnwu/Magisk/master/scripts/module_installer.sh
mv module_installer.sh update-binary
echo "#MAGISK" > updater-script
cd "$MODULE_DIR"
[[ RESTORE -eq 0 ]] && echo "REPLACE=\"" > customize.sh
for list in "${selection[@]}"; do
if (( list > ${#LISTS[@]} )) || (( list < 1 )); then continue; fi
cd ..
if (( !RESTORE )); then
generate_custom_list "${LISTS[$list]}"
backup_apks CUSTOM_LIST
fi
cd "$MODULE_DIR"
for apk in "${CUSTOM_LIST[@]}"; do
if (( RESTORE )); then
local dir="$(dirname "${apk:1}")"
mkdir -p "$dir"
cp "../apks_backup/$(echo "$apk" | sed -r 's/.*\///g')" "${apk:1}"
grep -Fqv "$apk" ../deleted_apks.txt > temp.tmp || touch temp.tmp; mv temp.tmp ../deleted_apks.txt
else
grep -qxF "$(dirname "$apk")" customize.sh || dirname "$apk" >> customize.sh
grep -qxF "$apk" ../deleted_apks.txt || echo "$apk" >> ../deleted_apks.txt
fi
done
[[ $is_empty -eq 1 && ${#CUSTOM_LIST[@]} -gt 0 ]] && is_empty=0
done
if [[ RESTORE -eq 0 && $is_empty -eq 1 ]]; then
printf "\n${BRED}%s${NC}\n" "Nothing to debloat!"
cd .. && rm -rf MAGISK_MODULE
return 0
fi
[[ RESTORE -ne 1 ]] && echo "\"" >> customize.sh
zip -FSrm ../uad_magisk_"${VERSION%%[[:space:]]*}_$title".zip ./* 1>/dev/null || true
cd .. && rm -rf MAGISK_MODULE
printf "\n${BGREEN}%s${NC}%s\n" "uad_magisk_${VERSION%%[[:space:]]*}.zip" " has been generated."
printf "\n%s${BBLUE}%s${NC}%s${BBLUE}%s${NC}%s\n" "Flash this file from " "Magisk Manager " "or " "TWRP " "and reboot your phone."
printf "\n%s${BBLUE}%s${NC}%s\n" "Removing the module from " "Magisk Manager " "will restore the apks."
if [[ $BRAND == "samsung" ]]; then
printf "\n${BRED}%s${NC}\n\n" "/!\ TWRP doesn't support Samsung encryption. You won't be able to flash this Magisk module from TWRP /!\\"
fi
printf "\e[5m%s\033[0m" "Press any key to continue"
read -n 1 -r -s
}
lists_selection() {
clear -x
declare -a selection=()
for ((i=1; i<=$#; i++)); do
printf "%-2s%s\n" "$i" " - ${!i}"
done
printf "\n${BRED}%s${NC} " "Your choice (e.g 1 2 3) :"
read -r -a selection
for list in "${selection[@]}"; do
if (( list > $# )) || (( list < 1 )); then continue; fi
debloat_or_restore "${!list}"
done
}
list_installed_packages() {
clear -x
declare -a packages=()
printf "\n${BRED}%s${NC}" "Search for packages (regex accepted): "
read -r
echo
readarray -t packages < <(adb shell "pm list packages -f" | grep -i "$REPLY" | sed 's/package://g' | sort || true)
for i in "${packages[@]}"; do
printf "%s${BBLUE}%s${NC}\n" "${i##*=}" " ${i%=*}"
done
printf "\n\e[5m%s\033[0m" "Press any key to continue"
read -n 1 -r -s
}
restore_backup() {
clear -x
printf "${BRED}%s${NC}" "Enter the path of the backup to restore : "
read -r
check_backup_integrity "$REPLY" && adb restore "$REPLY" || printf "\n${BRED}%s${NC}\n" "The backup is corrupted. Abort!"
echo
printf "\e[5m%s\033[0m" "Press any key to continue"
read -n 1 -r -s
}
backup() {
clear -x
local backup=$(date +%Y-%m-%d-%H:%M:%S)
adb backup -apk -all -system -f "${PHONE:-phone}-${backup}.adb" # -noshare option is default
echo
printf "\n\e[5m%s\033[0m" "Press a key when the backup is done (your phone will tell you) "
read -n 1 -r -s
check_backup_integrity "${PHONE:-phone}-${backup}.adb";
}
check_backup_integrity() {
printf "\n\n${BBLUE}%s${NC}" "[($1)] Backup integrity checking : "
! [[ -f $1 ]] && printf "${BRED}%s${NC}\n\n" "Backup not found" && return 1
# first 24 bytes are skipped (adb backup are modified compressed tar files with a 24B custom header)
if ! dd if="$1" bs=128k skip=24 iflag=skip_bytes 2>/dev/null | zlib-flate -uncompress | tar tf - &>/dev/null; then
printf "${BRED}%s${NC}\n\n" "FAILED" && return 1
else printf "${BGREEN}%s${NC}\n\n" "OK"
fi
}
get_brand() {
local brand
brand=$(adb shell getprop ro.product.brand | tr -d '\r' | awk '{print tolower($0)}')
# Support for sub-brands
case "$brand" in
"redmi"|"poco") echo "xiaomi" ;;
*) echo "$brand"
esac
}
uad_recovery_mode() {
ROOT=1
while true; do
clear -x
printf "\n${BBLUE}%s\n" "========== MAIN MENU (RECOVERY MODE) =========="
printf "%s\n" "# #"
printf "%-12s${NC}%s${BBLUE}%12s\n" "#" "1 - Restore APKs (Root)" "#"
printf "%-12s${NC}%s${BBLUE}%12s\n" "#" "2 - Debloat APKs (Root)" "#"
printf "%s\n" "# #"
printf "%-12s${NC}%s${BBLUE}%6s\n" "#" "X - Exit and reboot the phone" "#"
printf "%s\n" "# #"
printf "%s${NC}\n\n" "================================================="
read -r -p "Choose an action : "
case $REPLY in
1) { title="RESTORE"; RESTORE=1; };;
2) { title="DEBLOAT"; RESTORE=0; };;
[Xx]) { adb reboot && exit 0; };;
*) exit
esac
clear -x
printf "\n${BBLUE}%s\n" "================ $title (ROOT) ==============="
printf "%s\n" "# #"
printf "%-12s${NC}%s${BBLUE}%17s\n" "#" "1 - $title an APK" "#" | awk '{print tolower($0)}'
printf "%-12s${NC}%s${BBLUE}%18s\n" "#" "2 - External list" "#"
((RESTORE)) && printf "#${NC}%7s 3 - deleted_apks.txt ${BBLUE}%13s#\n"
printf "%s\n" "# #"
printf "%s\n${NC}" "================================================="
read -r -p "Choose an action : "
if [[ $REPLY = 1 ]]; then
while true; do
printf "\n${BRED}%s${NC}" "Android path of the APK to $title: "
read -r path
[[ $path =~ ^/.*\.apk$ ]] && break
printf "\n${BRED}%s${NC}%s${BRED}%s${NC}%s\n" "$path" " doesn't look like a valid APK path"
done
CUSTOM_LIST=("$path")
fi
if [[ $REPLY = 2 ]]; then import_external_list && CUSTOM_LIST=("${EXTERNAL_LIST[@]}"); fi
if [[ $REPLY = 3 && $RESTORE -eq 1 ]]; then readarray -t CUSTOM_LIST < "deleted_apks.txt"; fi
if [[ RESTORE -eq 0 ]]; then
backup_apks CUSTOM_LIST
printf "\n%s${BRED}%s${NC}%s\n\n" "Your apks has been backed-up in" " apks_backup/" " (in case you messed up)"
fi
[[ $NEWER_THAN_ANDROID_9 -eq 1 ]] && magisk_module && continue
printf "\n%s\n" "The script will physically $title the apks from your phone."
printf "%s${BBLUE}%s${NC}%s\n" "Do you prefer to use a " "Magisk " "module for a systemless $title instead? [y/n]"
read -r
if [[ $REPLY =~ [Yy] ]]; then
magisk_module
continue
fi
adb shell mount system || exit 1
for p in "${CUSTOM_LIST[@]}"; do # $p = path/to/app.apk
local apk=$(echo "$p" | sed -r 's/.*\///g') # app.apk
local dir=$(dirname "$p") # path/to
if [[ $RESTORE -eq 0 ]]; then
adb shell "rm -rf $p" && echo "rm -rf $p"
grep -qxF "$p" deleted_apks.txt || echo "$p" >> "deleted_apks.txt"
else
echo "adb push apks_backup/$apk /\"$p\""
if adb shell "mkdir -p $dir" && adb push "apks_backup/$apk" "/$p"; then
grep -qFv "$p" deleted_apks.txt > temp.tmp || touch temp.tmp; mv temp.tmp deleted_apks.txt
fi
fi
done
sleep 2
done
}
main "$@"; exit

View file

@ -1,168 +1,172 @@
#!/usr/bin/env bash
### These packages will be added in the default selection when I will find time to document them.
# It should be safe but you still need to be very careful).
# Uncommented packages should be safe to remove AT FIRST SIGHT but you still need to be **VERY** careful.
# Commented packages are NOT safe! DO NOT TRY TO REMOVE THESE FROM YOUR PHONE
# REMINDER : "Safe" only means "does not cause bootloop".
# These packages can definitely break features (but you can easily reinstall them with my script)
# These packages will most likely break useful features (but you can easily reinstall them with the script)
declare -a pending=(
###### THIRD PARTY APPS ######
"com.cnn.mobile.android.phone"
"com.contextlogic.wish"
"com.cootek.smartinputv5.language.englishgb"
"com.cootek.smartinputv5.language.spanishus"
"com.diotek.sec.lookup.dictionary"
"com.directv.dvrscheduler"
"com.dna.solitaireapp"
"com.draftkings.dknativermgGP.vpl"
"com.drivemode"
"com.ehernandez.radiolainolvidable"
"com.emoji.keyboard.touchpal"
"com.google.android.instantapps.supervisor"
"com.groupon"
"com.handmark.expressweather"
"com.handmark.expressweather.vpl"
"com.ironsource.appcloud.oobe"
"com.locationlabs.cni.att"
# These packages seems to be disguished Xiaomi apps and not part of AOSP. Can someone confirm/refute this?
#"com.android.systemui.gesture.line.overlay"
#"com.android.systemui.navigation.bar.overlay"
"com.locationlabs.finder.sprint.vpl"
"com.matchboxmobile.wisp"
"com.mobitv.client.sprinttvng"
"com.motorola.sprintwfc"
"com.particlenews.newsbreak"
"com.pinsight.v1"
"com.playphone.gamestore"
"com.playphone.gamestore.loot"
"com.qti.qualcomm.datastatusnotification"
"com.qualcomm.qti.simsettings"
############## AOSP ###############
#"com.android.wifi.resources"
"com.qualcomm.qti.telephony.vodafonepack"
"com.quicinc.fmradio"
"com.remotefairy4"
"com.rhapsody.vpl"
"com.samsung.mdl.radio.radiostub"
"com.sec.sprint.wfcstub"
"com.sem.factoryapp"
"com.servicemagic.consumer"
"com.sharecare.askmd"
"com.swiftkey.swiftkeyconfigurator"
############# GOOGLE ##############
"com.synchronoss.dcs.att.r2g"
"com.telenav.app.android.cingular"
"com.telenav.app.android.scout_us"
"com.touchtype.swiftkey"
"com.touchtype.swiftkey.res.overlay"
"com.tracker.t"
"com.ubercab"
"com.ubercab.driver"
"com.ubercab.eats"
"com.ume.browser.northamerica"
############ QUALCOMM #############
"com.qti.qualcomm.deviceinfo"
"com.qualcomm.qti.cne"
#"com.qualcomm.qti.ims"
"com.qualcomm.qti.performancemode"
"com.qualcomm.qti.poweroffalarm"
"com.qualcomm.qti.qdma"
#"com.qualcomm.qti.gpudrivers.kona.api30"
#"com.qualcomm.qti.seccamservice"
#"com.qualcomm.qti.services.secureui"
#"com.qualcomm.qti.services.systemhelper"
#"com.qualcomm.qti.simcontacts"
#"com.qualcomm.qti.uceShimService"
#"com.qualcomm.qti.uimGbaApp"
#"com.qualcomm.qti.workloadclassifier"
"com.qualcomm.uimremoteclient"
#"vendor.qti.hardware.cacert.server"
#"vendor.qti.iwlan"
"com.wavemarket.waplauncher"
"com.yellowpages.android.ypmobile"
"com.yelp.android"
"com.zhiliaoapp.musically"
"com.zte.assistant"
"com.zte.weather"
"de.axelspringer.yana.zeropage"
"in.playsimple.wordtrip"
"jp.gocro.smartnews.android"
"msgplus.jibe.sca.vpl"
########## THIRD PARTY ############
"com.verizon.cloudsetupwizard"
"com.jrd.verizonuriintentservice"
"com.tcl.vzwintents"
"com.tct.vzwwifioffload"
"com.vzw.easvalidation"
"com.ts.setupwizard.overlay.overlay"
"com.jrdcom.Elabel.overlay"
"com.hawk.android.browser"
"com.hiya.axolotl.tcl"
"com.jrdcom.Elabel"
"com.jrdcom.Elabel.a_overlay"
"com.jrdcom.filemanager"
"com.jrdcom.filemanager.a_overlay"
"com.vendor.frameworkresoverlay"
"net.aetherpal.device"
"tv.fubo.mobile.vpl"
"tv.peel.app"
"zpub.res"
############# SAMSUNG #############
#"com.samsung.android.cmfa.framework"
#"com.samsung.android.incall.contentprovider"
"com.samsung.android.service.tagservice"
"com.samsung.android.camerasdkservice"
"com.samsung.android.cameraxservice" # CBattery drain related on S10
"com.samsung.android.coldwalletservice"
"com.samsung.android.digitalkey"
"com.samsung.android.forest"
"com.samsung.android.kgclient" # Samsung Pay One Ui 3.0 ?
"com.samsung.android.providers.carrier"
#"com.samsung.android.wifi.resources"
"com.samsung.android.wifi.softap.resources"
"com.sec.android.Cdfs"
"com.sec.android.smartfpsadjuster"
"com.sec.location.nfwlocationprivacy"
"com.samsung.gamedriver.sm8250"
"com.samsung.gpuwatchapp" # Gpu viewer ?
"com.samsung.huxplatform"
"com.samsung.qosindicator"
"com.samsung.sait.sohservice"
"com.samsung.vklayer.sm8250"
###### SAMSUNG ######
"com.samsung.android.app.amcagent"
"com.samsung.android.app.omcagent"
"com.samsung.android.app.vrsetupwizards"
"com.samsung.android.app.withtc"
"com.samsung.android.bio.face.service"
"com.samsung.android.bixby.agent"
"com.samsung.android.bixby.agent.dummy"
"com.samsung.android.bixby.wakeup"
"com.samsung.android.dlp.service"
"com.samsung.android.dqagent"
"com.samsung.android.knox.containeragent"
"com.samsung.android.knox.containercore"
"com.samsung.android.scloud"
"com.samsung.android.sdk.professionalaudio.app.audioconnectionservice"
"com.samsung.android.slinkcloud"
"com.samsung.android.smartcallprovider"
"com.samsung.android.smartface"
"com.samsung.android.sm.devicesecurity"
"com.samsung.android.sm.policy"
"com.samsung.android.unifiedprofile"
"com.samsung.android.widgetapp.yagooedge.sport"
"com.samsung.dcmservice"
"com.samsung.faceservice"
"com.samsung.fresco.logging"
"com.samsung.know.securefolder.setuppage"
"com.samsung.knox.securefolder.setuppage"
"com.samsung.sec.android.application.csc"
"com.sec.android.app.easysetup"
"com.sec.android.app.scloud"
"com.sec.android.game.gamehome"
"com.sec.android.widgetapp.webmanual"
"com.sec.enterprise.knox.cloudmdm.smdms"
#### SONY ####
"com.sonyericsson.android.camera3d"
"com.sonyericsson.settings.res.overlay_305"
"com.sonymobile.android.externalkeyboard"
"com.sonymobile.apnupdater.res.overlay_305"
############### SONY ##############
"com.sonymobile.devicesecurity.service"
"com.sonymobile.home.product.res.overlay"
"com.sonymobile.indeviceintelligence"
"com.sonymobile.intelligent.iengine"
"com.sonymobile.intelligent.observer"
"com.sonymobile.prediction"
"com.sonymobile.swiqisystemservice"
"com.sonymobile.themes.xperialoops2"
"com.sonymobile.xperiaxlivewallpaper"
"com.sonymobile.xperiaxlivewallpaper.product.res.overlay"
############# HUAWAI ##############
### OPPO ####
"com.coloros.cloud"
"com.coloros.gamespace"
"com.coloros.soundrecorder"
"com.coloros.speechassist"
"com.nearme.atlas"
"com.nearme.instant.platform"
"com.oppo.logkitservice"
"com.oppo.logkit"
"com.oppo.ovoicemanager"
"com.oppo.oppopowermonitor"
"com.oppo.quicksearchbox "
"com.oppo.securepay "
"com.oppo.webview"
"com.coloros.appmanager "
"com.coloros.childrenspace"
"com.coloros.healthcheck "
"com.coloros.weather.service "
"com.coloros.widget.smallweather"
"com.mobiletools.systemhelper "
"com.oppo.fingerprints.fingerprintsensortest"
"com.coloros.oppomultiapp"
"com.coloros.backuprestore"
"com.coloros.assistantscreen"
############## NOKIA ##############
# Nokia users: Please give the apk. I can't find them on the web.
"com.evenwell.whitebalance"
"com.evenwell.whitebalance.overlay.base"
"com.hmdglobal.enterprise.api"
# com.coloros.securitypermission
# Handles app permission management. DO NOT REMOVE THIS
########### XIAOMI ##############
# com.coloros.pictorial (Lockscreen Magazine)
# Removal will result in no longer being able to access Lockscreen settings.
# com.OppoFreeFallingMonitor.apk
# Provides protection for camera slider in the event of a fall. Best described here: https://www.gizchina.com/2018/06/20/...5-years-usage/
############# TCL ###############
"com.android.gallery3d.refocus"
"android.autoinstalls.config.TCL.PAI"
"com.android.providers.tctdatahubprovider"
#"com.tcl.android.launcher"
#"com.tcl.android.launcher.a_overlay"
#"com.tcl.android.launchertheme.res"
#"com.tcl.android.launchertheme.res.overlay"
#"com.tcl.android.wallpaper.livepicker"
"com.tcl.aota.a_overlay"
#"com.tcl.camera"
#"com.tcl.camera.a_overlay"
"com.tcl.compass"
"com.tcl.compass.a_overlay"
"com.tcl.demopage"
#"com.tcl.entitlement"
#"com.tcl.faceunlock"
"com.tcl.fmradio"
"com.tcl.fmradio.a_overlay"
#"com.tcl.fota.system"
#"com.tcl.fota.system.a_overlay"
"com.tcl.healthy"
"com.tcl.logger.a_overlay"
"com.tcl.mibc.tclplus"
"com.tcl.mibc.tclplus.a_overlay"
"com.tcl.nfc.gsma.usermenu"
"com.tcl.screenrecorder"
"com.tcl.screenrecorder.a_overlay"
"com.tcl.screenshotex"
"com.tcl.sos"
"com.tcl.tclswitch.a_overlay"
"com.tcl.token"
"com.tcl.usercare"
"com.tcl.usercare.a_overlay"
#"com.tclhz.gallery"
#"com.tclhz.gallery.a_overlay"
#"com.tct"
#"com.tct.aio"
#"com.tct.android.secureinput"
"com.tct.applock"
"com.tct.batterywarning"
"com.tct.calculator"
"com.tct.calculator.a_overlay"
"com.tct.cellular.arda"
"com.tct.contacts.transfer"
"com.tct.contacts.transfer.a_overlay"
"com.tct.diagprotector"
#"com.tct.dialer"
#"com.tct.dialer.a_overlay"
#"com.tct.faceunlock"
"com.tct.gamemode"
"com.tct.gdpr"
#"com.tct.iris"
"com.tct.music"
"com.tct.onetouchbooster"
"com.tct.onetouchbooster.a_overlay"
"com.tct.privacymode"
"com.tct.privatespace"
"com.tct.retaildemo"
"com.tct.retaildemo.a_overlay"
"com.tct.setupwizard"
"com.tct.simplelauncher"
"com.tct.simplelauncher.a_overlay"
#"com.tct.simsettings"
"com.tct.smart.account"
"com.tct.smart.aikey"
"com.tct.smart.cloud"
"com.tct.smart.drivemode"
"com.tct.smart.notes"
"com.tct.smart.switchphone"
"com.tct.smart.switchphone.service"
"com.tct.soundrecorder"
#"com.tct.systemservice"
"com.tct.video"
"com.tct.weather"
"com.tct.weather.a_overlay"
#"com.tct.wfcwebiew"
)

View file

@ -1,27 +1,21 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a aosp_bloat=(
# VOCABULARY :
# overlay : https://budhdisharma.medium.com/rro-runtime-resource-overlay-in-android-aosp-e094be17f4bc
# https://source.android.com/devices/architecture/rros
##################### SAFE TO DEBLOAT (useless features) #####################
"com.android.apps.tag"
# NFC Tagging (5 permissions : Contacts/Phone On by default).
# https://en.wikipedia.org/wiki/TecTile
# It will NOT prevent you to use NFC devices (like speakers)
declare -a aosp=(
"com.android.bips"
# Default print Service.
# Safe to remove if you don't plan to print from your phone.
"com.android.bluetoothmidiservice"
# Provides classes for using the MIDI protocol over Bluetooth. Safe to remove if you don't plan to connect MIDI devices.
# (Seriously, use a PC if you want to do this !)
"com.android.bookmarkprovider"
# Only exist for compatibility reasons to prevent apps querying it from getting null cursors they do not expect and crash.
"com.android.carrierconfig"
# Provides access to telephony configuration values that are carrier-specific.
# Only exists for compatibility reasons to prevent apps querying it from getting null cursors they do not expect and crash.
"com.android.carrierdefaultapp"
# Allows carrier customization. Carrier action upon specific signal.
@ -36,24 +30,30 @@ declare -a aosp_bloat=(
"com.android.dreams.phototable"
# Photographic screensavers (Daydream stuff, see above)
"com.android.dreams.phototable.overlay"
# Overlay for com.android.dreams.phototable
"com.android.egg"
# Android build's easter egg feature (when you click 5 times on the android version in the settings)
"com.android.galaxy4"
# built-in Dynamic wallpaper
"com.android.htmlviewer"
# In-built HTML viewer. Basically lets you read HTML files stored on your device.
# REMINDER : A web-browser can also read HTML files...
"com.android.inputdevices"
# Empty package ?
# https://android.googlesource.com/platform/frameworks/base/+/master/packages/InputDevices/src/com/android/inputdevices/InputDeviceReceiver.java
"com.android.magicsmoke"
# "Magic smoke" Live wallpaper.
"com.android.managedprovisioning"
# Manage separate profile on devices. The typical example is setting up a corporate profile that is controlled by their employer on a
# users personal device to keep personal and work data separate.
# Safe to remove
# https://support.google.com/work/android/answer/6191949?
# https://developers.google.com/android/work/requirements/work-profile
"com.android.musicvis"
# Music Visualization Wallpapers
"com.android.noisefield"
# "Noise filed" live wallpaper.
@ -61,24 +61,32 @@ declare -a aosp_bloat=(
"com.android.phasebeam"
# "Phase beam" live wallpaper
"com.android.printservice.recommendation"
# Keep it, if you need to print directly via your phone.
"com.android.printspooler"
# Print spooler. Manage the printing process.
# Safe to remove if you don't plan to print from your phone
"com.android.email.partnerprovider"
"com.android.email.partnerprovider.overlay"
# Lets Google partners (OEM in most of the case) to customize the default email settings.
# The manufacturer often change the default signature displayed the end of each of your mail (e.g "Sent from my Nokia phone")
"com.android.providers.partnerbookmarks"
# Provides bookmarks about partners of Google in Chrome.
"com.android.runintest.ddrtest"
# DDR Test
# RAM Stress tester
# Can be run from the bootloader
# NOTE: I'm not sure it's really from AOSP (seen in TCL Plex phone)
"com.android.simappdialog"
# Sim App Dialog
# Used to install the carrier SIM app when the SIM is inserted.
"com.android.soundrecorder"
# Sound recorder, obviously.
# AOSP Sound recorder. OEM often use their own solution
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own browser app.
# There are better apps (on F-droid) anyway
"com.android.stk"
"com.android.stk"
"com.android.stk2" # (special package for dual-sim devices?)
# SIM toolkit
# SIM toolkit app. Enable carriers to make SIM cards initiate "value-added services" (== some crappy stuff)
# Basically, Some operators give SIMs which has applications installed in it.
# https://en.wikipedia.org/wiki/SIM_Application_Toolkit#cite_note-CellularZA-1
@ -86,30 +94,46 @@ declare -a aosp_bloat=(
# - SimJacker : https://thehackernews.com/2019/09/simjacker-mobile-hacking.html
# - WIBattack : https://www.zdnet.com/article/new-sim-card-attack-disclosed-similar-to-simjacker/
"com.android.traceur"
# System Tracing
# Recording device activity over a short period of time is known as system tracing. System tracing produces a trace file that can be used to generate
# a system report.
# Not useful if you're not a developer.
"com.android.wallpaper.holospiral"
# "Holo spiral" Live wallpaper.
"com.android.wallpaper.livepicker"
# Enable you to pick live wallpaper.
"com.android.wallpaper.livepicker"
"com.android.wallpaper.livepicker.overlay"
# Enables you to pick a live wallpaper.
# Will break some weather applications (especially ones with widgets) and wallpaper applications like Muzei.
"com.android.wallpapercropper"
# Wallpaper cropper.
"com.example.android.notepad"
# (Bad) notepad app.
"org.simalliance.openmobileapi.service"
# Smart Card Service by Simalliance
# https://simalliance.org/about-us/mission-objectives/
#
# The SmartCard API is a reference implementation of the SIMalliance Open Mobile API specification that enables Android applications
# to communicate with Secure Elements, (SIM card, embedded Secure Elements, Mobile Security Card or others)
# https://github.com/seek-for-android/pool/wiki/SmartcardAPI
# Safe to remove if you don't think you need this
##################### UP TO YOU (can be useful features but safe to remove) #####################
"android.auto_generated_vendor_" # [MORE INFO NEEDED]
# Auto generated vendor's stuff for Android Auto (https://www.android.com/intl/en_en/auto/)
# Note: You don't need this if you don't use Android auto
"android.auto_generated_rro__"
# rro = Runtime Resources Overlay.
# Changes values of a package config, based in the overlay definitions (heavily used by OEM for custom themming android)
# Link: https://source.android.com/devices/architecture/rros and https://code.tutsplus.com/tutorials/quick-tip-theme-android-with-the-runtime-resource-overlay-framework--cms-29708
"com.android.apps.tag"
# Support for NFC tags interactions (5 permissions : Contacts/Phone On by default).
# NFC Tags are for instance used in bus to let you validate your transport card with your phone
# Other exemple : https://en.wikipedia.org/wiki/TecTile
# You will still be able to connect to a NFC device (e.g a speaker) if removed.
#"com.google.android.GoogleCamera"
# Google Camera (https://play.google.com/store/apps/details?id=com.google.android.GoogleCamera)
#"com.android.backupconfirm"
# Restore google settings with Google Backup restore function.
# Also display confirmation popup when doing ADB backup. If you remove this package you couldn't do ADB Backup.
@ -121,60 +145,90 @@ declare -a aosp_bloat=(
# Bluetooth service
"com.android.browser"
# Stock Browser
# AOSP Browser. You honeslty shoud use something else. It is no longer maintained and lacks a lot of features.
# If you have this package you most likely have an old android version (< Android KitKat v4.4) so you can't really install
# another browser.
# Your android device is insecure so you really shouldn't use this device to browse the web.
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own browser app (e.g Mi browser)
"com.android.browser.provider"
# Strange package. It is old (2014) and there is a Picasa URL hardcoded.
# Strange package. It is old (2014) and there is a hardcoded Picasa URL in the code
# https://android.googlesource.com/platform/packages/apps/Browser/+/refs/heads/master/src/com/android/browser/provider/BrowserProvider.java
# Related to bookmarks but removing it doesn't seems to affect anything visible.
"com.android.calendar"
# Access to events from the calendar.
# Safe to remove if you don't use built-in calendar
#"com.android.calendar"
# AOSP Calendar app
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own calendar app.
#"com.android.calculator2"
# Stock calculator app.
#"com.android.calculator2"
# AOSP calculator app.
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own calculator app.
"com.android.calllogbackup"
# Call Logs Backup/Restore
#"com.android.calllogbackup"
# Call Logs Backup/Restore feature.
# https://android.googlesource.com/platform/packages/providers/CallLogProvider/+/refs/heads/master/src/com/android/calllogbackup
#"com.android.captiveportallogin"
# Take care of redirecting to the web page that the user of a public access network is obliged to view and interect with, before access is granted.
# Support for captive portal : https://en.wikipedia.org/wiki/Captive_portal
# A captive portal login is a web page where the users have to input their login information or accept the displayed terms of use.
# Some networks (typically public wifi network) use the captive portal login to block access until the user inputs
# some necessary information
#"com.android.carrierconfig"
# Gives carriers and OEMs the ability to dynamically provide carrier configuration (APN settings) trough their app.
# NOTE : The probability that your carrier's APN change is very low. If you change your carrier and insert a new SIM card
# This package will be triggered to automatically choose the suitable APN.
# https://source.android.com/devices/tech/config/carrier
# https://android.googlesource.com/platform/packages/apps/CarrierConfig/+/refs/heads/master/src/com/android/carrierconfig/DefaultCarrierConfigService.java
#"com.android.cellbroadcastreceiver"
# == EMERGENCY ALERTS ==
# This service manages enabling and disabling ranges of message identifiers that the radio should listen for.
# It operates independently of the other services and runs at boot time and after exiting airplane mode.
# Cell broadcast has been designed to deliver messages to multiple users in an area.
# This is notably used by ISP to send Emergency/Government alerts. This package handles the situation on occurence of this event.
# Runs at boot time and is also triggered after exiting airplane mode.
# https://en.wikipedia.org/wiki/Cell_Broadcast
# https://www.androidcentral.com/amber-alerts-and-android-what-you-need-know
# https://android.googlesource.com/platform/packages/apps/CellBroadcastReceiver/+/refs/heads/master/src/com/android/cellbroadcastreceiver
#"com.android.contacts"
# Stock contacts app (it is not Google contact)
# AOSP contacts app (it is not Google contacts)
# NOTE: On some phones Huawei & Xiaomi also use this package name for their contacts app.
#"com.android.cts.ctsshim"
#"com.android.cts.ctsshim" # [MORE INFO NEEDED]
#"com.android.cts.priv.ctsshim"
# Compatibilty Test Service. The CTS shim is a package that resides on a device's /system partition in order
# to verify certain upgrade scenarios. Could mess up OTA.
# Don't really know what happens with custom ROM if disabled. Should be safe.
# to verify certain upgrade scenarios. Could mess up witch OTA updates.
# https://android.googlesource.com/platform/frameworks/base/+/51e458e/packages/CtsShim
#"com.android.deskclock"
# Clock stock app
# AOSP Clock app
# NOTE: On some phones Huawei & Xiaomi also use this package name for their own clock app.
"com.android.email"
#"com.android.email"
# AOSP Email app (it is NOT gmail).
# NOTE: On some phones Huawei & Xiaomi also use this package name for their own EMAIL app.
"com.android.emergency"
#"com.android.emergency"
# Emergency informations. Safe to remove if you don't want this feature.
# com.android.exchange"
# The ExchangeService handles all aspects of starting, maintaining, and stopping the various sync adapters for email.
# [WARNING] I need to know to test if it only concerns stock mail app.
#"com.android.exchange" # [MORE INFO NEEDED]
# Handles all aspects of starting, maintaining, and stopping the various sync adapters for the email accounts.
# Is it only needed for the email stock app?
#"com.android.facelock"
# Essential if you wanna use Face Unlock features, removable if you don't want to.
"com.android.gallery3d"
# AOSP Gallery app.
#"com.android.gallery3d"
# Gallery app.
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own Gallery app.
#"com.android.hotspot2"
# Provides wifi tethering (lets you share your mobile device's Internet connection with other devices)
# https://en.wikipedia.org/wiki/Tethering)
#"com.android.inputdevices"
# Only contains a receiver named "Android keyboard", possibly for an external keyboard.
# Locates available keyboard layouts.
# An application can offer additional keyboard layouts to the user by declaring a suitable broadcast receiver in its manifest.
#"com.android.inputmethod.latin"
# AOSP keyboard. (This is not Google Keyboard).
@ -187,109 +241,236 @@ declare -a aosp_bloat=(
# https://developer.android.com/guide/topics/display-cutout
# https://source.android.com/devices/tech/display/display-cutouts
"com.android.keychain"
# Enable apps to use system wide credential KeyChain (shared credentials between apps)
# https://security.stackexchange.com/questions/216716/android-keychain-what-is-a-system-wide-credential
#"com.android.internal.systemui.navbar.gestural"
# Gesture navigation
# Lets you use swipes and other actions to control your phone, rather than tapping on buttons.
# Option -> System -> Gestures -> System Navigation
# https://android-developers.googleblog.com/2019/08/gesture-navigation-backstory.html
#"com.android.internal.systemui.navbar.gestural_extra_wide_back"
#"com.android.internal.systemui.navbar.gestural_narrow_back"
#"com.android.internal.systemui.navbar.gestural_wide_back"
# Enables you to turn down the sensitivity to make it easier to perform gestures in apps (i.e. making back harder to trigger)
#"com.android.internal.systemui.navbar.threebutton" # 3-button navigation
#"com.android.internal.systemui.navbar.twobutton" # 2-button navigation
#"com.android.musicfx"
# Audio equalizer. Some 3-party music apps can use it to provide you equalizing features.
#"com.android.mms"
# Stock SMS app.
# AOSP SMS app.
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own SMS app.
#"com.android.nfc"
# NFC service
"com.android.pacprocessor"
#"com.android.ons"
# Opportunistic Network Service
# Opportunistic networks are networks which are formed when devices come into contact opportunistically through
# physical proximity, and communicate wirelessly to share each others content, resources and services.
# This kind of networks leads to a set of challenging issues (congestion, transfer ordering, and resilience)
# Basically, this package implements ions (asynchronous networking) to resolve these issues.
# Run in background after booting the phone.
# https://en.wikipedia.org/wiki/Opportunistic_mobile_social_network
#"com.android.otaprovisioningclient"
# OTA Access Point Configuration
# OTA (Over the air : https://fr.wikipedia.org/wiki/Over-the-air_programming) is the method used by OEM to push updates on
# your phone.
# An OTA access point is used to run system software updates over a special gateway. This package is most likely customized
# by your OEM.
#"com.android.pacprocessor"
# A PAC (Proxy Auto-Config) is a file which defines how an app can automatically define the correct proxy server for fetching an URL.
# Should be safe to remove if you don't use Auto-proxy (with PAC file config)
# https://en.wikipedia.org/wiki/Proxy_auto-config
#"com.android.phone.recorder"
# Call recorder function.
# AOSP Call recorder function. Most of the time OEM use their own code for this.
# NOTE: On some phones, Huawei & Xiaomi also use this package name for their own closed-source recorder app.
#"com.android.printservice.recommendation"
# Used to discover and interact one or more printers via one or more protocols.
# You can remove it if you don't need to print directly from your phone.
#"com.android.printspooler"
# Print spooler. Manage the printing process.
# Safe to remove if you don't plan to print from your phone
# Note: Break connection preferences from the settings app on some phones (Pixel 4a / Android 11)
#"com.android.providers.blockednumber"
# Handle blocked numbers storage
# Handles blocked numbers storage
# On some devices this packages seems to be tied to recent apps menu (see https://gitlab.com/W1nst0n/universal-android-debloater/-/issues/6)
"com.android.providers.calendar"
#"com.android.providers.calendar"
# Necessary to sync stock Calendar app and lets it work correctly.
#"com.android.providers.drm" # [MORE INFO NEEDED]
# DRM Protected Content Storage
# Provides DRM functions to stop you from copying things like ringtones, live wallpapers, etc.
# May be needed to access media files (to be verified)
#"com.android.providers.userdictionary"
# Handle user dictionary for keyboard apps.
# Handles user dictionary for keyboard apps.
#"com.android.proxyhandler"
# Handle proxy config
# Handles proxy config
# Safe to remove if you don't use a proxy.
"com.android.quicksearchbox"
# Google quick search box.
#"com.android.settings.intelligence" # [MORE INFO NEEDED]
# Settings tips in Settings menu ?
# I don't have this in my phone. It for Android Pie. Can someone check ?
#"com.android.se" # [MORE INFO NEEDED]
# Underlying implementation for Open Mobile API SEService (OMAPI SE)
# Enables apps to use the OMAPI API to access secure elements (SE) to enable smart-card payments and other secure services.
#
# A SE is a special chip (e.g SIM-card) whose the main purpose is to store cryptographic secrets in such a way
# that illicit use is hard or impossible to do.
#
# FYI : The Open Mobile Alliance (OPA) is a standards organization which develops open standards for the mobile phone industry.
"com.android.sharedstoragebackup"
#"com.android.settings.intelligence"
# Setting search feature
# Note: Settings app may crash when searching for a setting if you removed this package (it depends on the phone)
# See https://gitlab.com/W1nst0n/universal-android-debloater/-/issues/51
#"com.android.sharedstoragebackup"
# Used during backup. Fetch shared storage (files accessible by every apps with STORAGE permission)
# Things have changed with Android 10. Don't know if this package is still relevant.
# Things have changed with Android 10. Don't know if this package is still relevant for new phones.
# https://blog.mindorks.com/understanding-the-scoped-storage-in-android.
#"com.android.smspush" # [MORE INFO NEEDED]
# This service is used to push/send specially formatted SMS messages that display an alert message to the user,
# and give the user the option of connecting directly to a particular app.
# For instance, a SMS notifying the user he as a new e-mail, with a URL link to connect directly to the e-mail application
# https://web.archive.org/web/20200915164901/https://www.nowsms.com/doc/submitting-sms-messages/sending-wap-push-messages
#"com.android.systemui.theme.dark"
# Enable you to use Andrdoi dark theme.
# Enables you to use Android dark theme.
"com.android.timezone.updater"
#"com.android.theme.color.black"
#"com.android.theme.color.cinnamon"
#"com.android.theme.color.green"
#"com.android.theme.color.ocean"
#"com.android.theme.color.orchid"
#"com.android.theme.color.purple"
#"com.android.theme.color.space"
#"com.android.theme.font.notoserifsource"
#"com.android.theme.icon.roundedrect"
#"com.android.theme.icon.squircle"
#"com.android.theme.icon.teardrop"
#"com.android.theme.icon_pack.circular.android"
#"com.android.theme.icon_pack.circular.launcher"
#"com.android.theme.icon_pack.circular.settings"
#"com.android.theme.icon_pack.circular.systemui"
#"com.android.theme.icon_pack.circular.themepicker"
#"com.android.theme.icon_pack.filled.android"
#"com.android.theme.icon_pack.filled.launcher"
#"com.android.theme.icon_pack.filled.settings"
#"com.android.theme.icon_pack.filled.systemui"
#"com.android.theme.icon_pack.filled.themepicker"
#"com.android.theme.icon_pack.rounded.android"
#"com.android.theme.icon_pack.rounded.launcher"
#"com.android.theme.icon_pack.rounded.settings"
#"com.android.theme.icon_pack.rounded.systemui"
# Android themes / icons pack / fonts
#"com.android.timezone.updater"
# Time Zone Updater
# Automaticaly change the time zone if needed.
# Automatically updates the clock to correspond to your current time zone
# This *may* causes a bootloop if removed. Timezone packages often causes that.
"com.android.traceur"
# System Tracing
# Recording device activity over a short period of time is known as system tracing. System tracing produces a trace file that can be used to generate
# a system report.
# Not useful if you're not a developer.
#"com.android.voicedialer"
# AOSP Voice dialer. Let's you call someone or open an app with your voice from the dialer.
# OEM often use their own code (embeded in their voice-controlled digital assistant)
# NOTE: On some phones Huawei & Xiaomi also use this package name for their own voice dialer app.
"com.android.voicedialer"
# Voice search.
#"com.android.wallpaperpicker"
# Enables you to pick a wallpaper.
"com.android.wallpaperbackup"
#"com.android.wallpaperbackup"
# Backup your wallapaper and load this backup instead of the original file in case you delete it.
# Safe to remove but it's not worth it.
# Safe to remove if you really want to.
#"com.android.webview"
# AOSP webview
# It's a system component for the Android operating system (OS) that allows Android apps to display content
# from the web directly inside an application.
# This package is no longer used in recent phones as it was replaced by com.google.android.webview
#
# On open-source privacy oriented Webview is Bromite (https://www.bromite.org/system_web_view)
)
##################### DO NOT REMOVE THIS (will prevent core stuff to work) #####################
##################### YOU SHOULDN'T MESS WITH THEM (core packages and may cause bootloop) #####################
#"com.android.certinstaller"
# Certificate installer. Digital certificates identify computers, phones, and apps for security. Just like you'd use your drivers license
# to show that you can legally drive, a digital certificate identifies your device and confirms that it should be able to access something.
# Certificate installer. Identifies your device and confirms that it should be able to access something.
# Here it is used for accepting and revoking of Internet certificates. Break wifi if removed.
#"com.android.companiondevicemanager"
# Companion Device Manager that comes by default in every Oreo+ device.
# This handles connections to other devices, like Bluetooth Headphones, desktop Operative Systems, ecc.
# This handles connections to other devices, like Bluetooth Headphones, desktop Operative Systems, ecc.
#"com.android.defcontainer"
# Needed during apps installation.
# Package Access Helper
# Determine the recommended install location for packages and if there is enough free space for the package.
#"com.android.documentsui" # Files picker
# Interface for apps wishing to access access files outside of their own storage area.
#"com.android.musicfx"
# Audio equalizer. Some 3-party music apps can use it to provide you equalizing features.
#"com.android.documentsui.a_overlay"
# DocumentsUI Overlay
# The DocumentsUI controls access to specific files for components that handle document permissions
# (such as attaching a file to an email)
# https://source.android.com/devices/architecture/modular-system/documentsui?hl=en
#"com.android.dynsystem"
# Dynamic System Updates
# Treble gived the ability to boot an AOSP Generic System Image (GSI) on any supported device.
# Dynamic System Updates allows to boot into a Generic System Image (GSI) without interfering with the current installation.
# That means the bootloader doesnt need to be unlocked and the user data doesnt need to be wiped.
# https://developer.android.com/topic/dsu
#"com.android.externalstorage"
# Needed by apps to access external storage (SD card)
#"com.android.keychain"
# Enable apps to use system wide credential KeyChain (shared credentials between apps)
# https://security.stackexchange.com/questions/216716/android-keychain-what-is-a-system-wide-credential
#"com.android.localtransport"
# Backup transport for stashing stuff into a known location on disk, and later restoring from there.
# Seems needed for storeing backup data locally on the device.
# This package also provides the backup confirmation UI.
# https://developer.android.com/guide/topics/data/testingbackup
#"com.android.location.fused"
# Manages the underlying location technologies, such as GPS and Wi-Fi.
#"com.android.mms.service"
# Provides support for sending MMS.
#"com.android.mtp" #MTP Host
# Handle MTP (protocol allowing files to be transferred to and from your PC)
#"com.android.mtp"
# MTP Host
# Handles MTP (protocol allowing files to be transferred to and from your PC)
#"com.android.packageinstaller"
# Handles installation, upgrade, and removal of applications.
#"com.android.provision"
# Provisioning is the process of setting up a network connection that will allow new users.
# This service is for exemple needed when the user's phone moves from one cell-tower to another.
#"com.android.phone"
#"com.android.phone.a_overlay"
# AOSP code for dialer app features
# SIM card will also not be detected if deleted.
#"com.android.providers.applications"
# Fetches the list of applications installed on the phone to provide search suggestions.
#"com.android.providers.contacts"
# Handle interaction with contacts data
@ -307,9 +488,10 @@ declare -a aosp_bloat=(
# https://android.stackexchange.com/questions/37195/why-are-there-two-settings-apps-settings-and-settings-storage
#"com.android.providers.telephony"
# [AOSP] Telephony provider. Handle access to telephony database.
# Telephony provider. Controls and stores phone-related data such as text messages, APN list, operation, etc.
#"com.android.server.telecom"
#"com.android.server.telecom.a_overlay"
# Management your calls via your network provider or SIM and controls the phone modem.
#"com.android.settings"
@ -332,7 +514,7 @@ declare -a aosp_bloat=(
# Everything you see in Android that's not an app. User interface of Android
#"com.android.vpndialogs"
# Handle VPN dialogs (UI boxes)
# Provide VPN support to Android
# https://en.wikipedia.org/wiki/Dialog_(software)
# Safe to remove if you don't plan to use a VPN.

View file

@ -1,15 +1,25 @@
#!/bin/bash
declare -a asus_bloat=(
declare -a asus=(
"com.asus.calculator"
# Asus calculator app
# NOTE : Simple calculator is a good alternative : https://f-droid.org/en/packages/com.simplemobiletools.calculator/
"com.asus.easylauncher"
# Asus Easy Mode (https://play.google.com/store/apps/details?id=com.asus.easylauncher)
# Alternative launcher with bigger icons and simpler interface
"com.asus.ia.asusapp"
# My Asus (https://play.google.com/store/apps/details?id=com.asus.ia.asusapp)
# Asus service center (support + store)
"com.asus.soundrecorder"
# Asus Sound recorder (https://play.google.com/store/apps/details?id=com.asus.soundrecorder)
# Asus Sound recorder (https://play.google.com/store/apps/details?id=com.asus.soundrecorder)
"com.asus.userfeedback"
# ZenUI Help (https://play.google.com/store/apps/details?id=com.asus.userfeedback)
# Customer service app that provides FAQs, Mobile care service, user feedback, and public forums.
# Lots of telemetry (insecure on top of that):
# https://beta.pithus.org/report/e80a1fa70adc097fc9817720b5c8c81cfd156a76e6d062759b2bc3d6937a97e7
)

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,9 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a google_bloat=(
declare -a google=(
"com.android.hotwordenrollment.okgoogle"
"com.android.hotwordenrollment.okgoogle"
"com.android.hotwordenrollment.xgoogle"
# "OK Google" detection service.
"com.android.partnerbrowsercustomizations.chromeHomepage"
@ -142,8 +143,16 @@ declare -a google_bloat=(
"com.google.android.apps.podcasts"
# Google Podcasts (https://play.google.com/store/apps/details?id=com.google.android.apps.podcasts)
"com.google.android.apps.restore"
# Restore apps during first boot.
"com.google.android.apps.restore"
# This is the backup restore wizard used for pulling Android system backups from your Google account.
# You only need this if you factory restore the phone, in which case its automatically reinstalled for you.
"com.google.android.apps.recorder"
# Google (audio) recorder (https://play.google.com/store/apps/details?id=com.google.android.apps.recorder)
"com.google.android.apps.setupwizard.searchselector"
# Most likely add a search bar to the setupwizard (com.google.android.setupwizard)
"com.google.android.apps.santatracker"
# Google Santa Tracker WTF ??? (https://play.google.com/store/apps/details?id=com.google.android.apps.santatracker)
@ -162,6 +171,9 @@ declare -a google_bloat=(
"com.google.android.apps.travel.onthego"
# Google Trip (discontinued)
"com.google.android.apps.uploader"
# Picasa Uploader (discontinued)
"com.google.android.apps.vega"
# Google My Business (https://play.google.com/store/apps/details?id=com.google.android.apps.vega)
@ -189,6 +201,7 @@ declare -a google_bloat=(
"com.google.android.apps.youtube.vr"
# Youtube VR (https://play.google.com/store/apps/details?id=com.google.android.apps.youtube.vr)
"com.google.android.backup" # On Android 4.2
"com.google.android.backuptransport"
# Allows Android apps to back up their data on Google servers.
@ -204,9 +217,6 @@ declare -a google_bloat=(
# See : https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/ConfigUpdate.java
# This is configuration stuff for Google services only.
"com.google.android.contacts"
# Google Contacts (https://play.google.com/store/apps/details?id=com.google.android.contacts)
#"com.google.android.deskclock"
# Google clock app (https://play.google.com/store/apps/details?id=com.google.android.deskclock)
@ -216,6 +226,10 @@ declare -a google_bloat=(
"com.google.android.googlequicksearchbox"
# Google Search box (https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox)
"com.google.android.instantapps.supervisor"
# Lets you try new games directly on Google Play.
# https://www.zdnet.com/article/googles-instant-apps-goes-live-now-you-can-try-android-apps-before-installing-them/
"com.google.android.keep"
# Google Keep (https://play.google.com/store/apps/details?id=com.google.android.keep)
@ -232,9 +246,6 @@ declare -a google_bloat=(
"com.google.android.onetimeinitializer"
# Provides first time setup, safe to remove.
"com.google.android.partnersetup"
# Software that helps other apps to work with Google products.
"com.google.android.play.games"
# Google Play Games (https://play.google.com/store/apps/details?id=com.google.android.play.games)
@ -246,8 +257,11 @@ declare -a google_bloat=(
"com.google.android.projection.gearhead"
# Android auto (https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead)
"com.google.android.setupwizard"
# Removable after the first start of the phone, it's the basic configuration wizard that drives you through first boot.
"com.google.android.setupwizard"
"com.google.android.setupwizard.a_overlay"
"com.google.android.pixel.setupwizard"
# It's the basic configuration setup guides you through the basics of setting up Google features on your device.
# The second package is only present on Pixel phones.
"com.google.android.soundpicker"
# Google Sounds. Removable if you already have another media select service.
@ -255,6 +269,9 @@ declare -a google_bloat=(
"com.google.android.street"
# Google Street View (https://play.google.com/store/apps/details?id=com.google.android.street)
"com.google.android.syncadapters.bookmarks"
# Synchronisation for Google Chrome bookmarks
"com.google.android.syncadapters.calendar"
# Synchronisation for Google Calendar.
@ -271,9 +288,15 @@ declare -a google_bloat=(
"com.google.android.tv.remote"
# Android TV remote control (https://play.google.com/store/apps/details?id=com.google.android.tv.remote)
"com.google.android.videoeditor"
# Google Movie Studio (discontinued)
"com.google.android.videos"
# Google Play Movies & TV (https://play.google.com/store/apps/details?id=com.google.android.videos)
"com.google.android.voicesearch"
# Google Voice Search (Speech-To-Text)
"com.google.android.vr.home"
# Daydream (VR stuff) (https://play.google.com/store/apps/details?id=com.google.android.vr.home)
@ -324,6 +347,11 @@ declare -a google_bloat=(
#"com.google.android.apps.maps"
# Google maps (https://play.google.com/store/apps/details?id=com.google.android.apps.maps)
#"com.google.android.apps.nexuslauncher"
# Nexus Launcher (https://play.google.com/store/apps/details?id=com.google.android.apps.nexuslauncher)
# It's basically the home screen, the way icons apps are organized and displayed.
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
#"com.google.android.apps.photos"
# Google photos (https://play.google.com/store/apps/details?id=com.google.android.apps.photos)
@ -331,31 +359,51 @@ declare -a google_bloat=(
# Device Health Services (discontinued ?)
# Calculates your remaining battery percentage based on your usage
# Reviews for this app were... funny (https://www.reddit.com/r/google/comments/ajnbmh/the_reviews_for_device_health_services_are_quite/)
# Note: this app needs com.google.android.gms
"com.google.android.apps.work.oobconfig" # [MORE INFO NEEDED]
# Needs internet to fetchs enterprise and carrier lock config via internet.
# Run in background and is triggered when a SIM card is added/removed/replaced.
# It also has Gcm receiver (Google Cloud Messaging receiver)
# Has a lot of permissions (16).
# Talks to websites which provide SSL certificates.
# Talks to websites providing SSL certificates.
# Needs Google Play Services to work.
# https://www.hybrid-analysis.com/sample/71bcaf2e71d78665fc5bc53db39df5309f24dd4ecab6402cf6ca20027dc6ecad?environmentId=200
"com.google.android.dialer"
# Google Dialer (https://play.google.com/store/apps/details?id=com.google.android.dialer)
#"com.google.android.carrierconfig" # [MORE INFO NEEDED]
# Provides network overrides for carrier configuration.
# The configuration available through CarrierConfigManager is a combination of default values, default network overrides,
# and carrier overrides. The default network overrides are provided by this service.
# What's the difference between com.android.carrierconfig and this package?
"com.google.android.ext.services"
# Android Services Library only contains, for now, an "Android Notification Ranking Service."
# It sorts notifications by "importance" based on things like freshness, app type (IM apps come first), and by contact.
# For now it is safe to remove if you really want.
# The library android.ext.services is open-source but this apk is not. Google probably uses it to update its API without having to rely to the OEM
# https://arstechnica.com/gadgets/2016/11/android-extensions-could-be-googles-plan-to-make-android-updates-suck-less/
#"com.google.android.contacts"
# Google Contacts (https://play.google.com/store/apps/details?id=com.google.android.contacts)
#"com.google.android.dialer"
# Google Dialer (https://play.google.com/store/apps/details?id=com.google.android.dialer)
# It's not default but seriously, don't use the Google dialer there are Google Analytics embedded inside
# https://www.virustotal.com/gui/file/a978d90f27d5947dca33ed59b73bd8efbac67253f9ef7a343beb9197c8913d1a/details
#"com.google.android.documentsui"
# Google File manager
"com.google.android.email"
# AOSP Mail client
# Does no longer exist. AOSP Mail is now com.android.email and Gmail is com.google.android.gm
"com.google.android.ext.shared"
## Google shared library (used to share common code between apps)
#"com.google.android.ext.shared"
# Google shared library (used to share common code between apps)
# For now the library (android.ext.shared is empty). So this apk is useless.
# This apk has the same role than the one above.
"com.google.android.tag"
# Support for NFC tags interactions (5 permissions : Contacts/Phone On by default).
# NFC Tags are for instance used in bus to let you validate your transport card with your phone
# Other exemple : https://en.wikipedia.org/wiki/TecTile
# You will still be able to connect to a NFC device (e.g a speaker) if removed.
#"com.google.android.GoogleCamera"
# Google Camera (https://play.google.com/store/apps/details?id=com.google.android.GoogleCamera)
#"com.google.android.gms"
# Google Play Services
# gms = Google Mobile Services
@ -367,12 +415,22 @@ declare -a google_bloat=(
# NOTE : Deleting this package will improve a LOT your battery life !
#
# IMPORTANT : You need to uncheck Find My Device from the "Device admin apps" settings panel to be able to uninstall this package
# Search "admin" in the settings search bar.
#"com.google.android.overlay.gmsconfig" # [MORE INFO NEEDED]
#"com.google.android.overlay.gmsgsaconfig"
# Probably RROs (https://source.android.com/devices/architecture/rros?hl=en) tied to "com.google.android.gms" (Google Play Services)
# If you remove com.google.android.gms you can remove those 2 packages as well.
"com.google.android.gms.location.history"
# Google Location history
# https://support.google.com/accounts/answer/3118687?hl=en
"com.google.android.gms.policy_sidecar_aps" # [MORE INFO NEEDED]
# Talks to Gmail.com and Google.com.
# Needs a Google Account and Google Paly Services to work correctly.
# Needs a Google Account and Google Play Services to work correctly.
# I don't know much more but it's sufficient to know you can debloat it.
# Given its name maybe it is related to Android auto ?
# Given its name maybe it is related to Android auto?
# https://www.hybrid-analysis.com/sample/c710b66d043026007666966d933e3a1ed29720c5009764c01b5f056232a3518a?environmentId=200
#"com.google.android.gsf"
@ -386,7 +444,11 @@ declare -a google_bloat=(
# Support for managing Google accounts
# Safe to remove if you don't use a Google account.
#"com.google.android.partnersetup"
#"com.google.android.location"
# Handles location services on older devices. On newer ones Google location services is part of Google Play Services and
# Android location service is provided by com.android.location.fused or com.android.location.
"com.google.android.partnersetup"
# Enables applications to perform functionality that requires access to your Google account information
# Safe to remove if you don't have a Google account
@ -406,6 +468,12 @@ declare -a google_bloat=(
# Carrier Services (for Google phones) (https://play.google.com/store/apps/details?id=com.google.android.ims)
# IMS is an open industry standard for voice and multimedia communications over packet-based IP networks (Volte/VoIP/Wifi calling).
"com.google.audio.hearing.visualization.accessibility.scribe"
# Live Transcribe & Sound Notifications (https://play.google.com/store/apps/details?id=com.google.audio.hearing.visualization.accessibility.scribe)
# Provides push notifications for critical sounds around you. This feature can be helpful for people with hearing loss.
# https://blog.google/products/android/new-sound-notifications-on-android/
# Works offline
#"com.android.vending"
# Google Play Store app.
@ -430,8 +498,54 @@ declare -a google_bloat=(
)
##################### DO NOT REMOVE THIS (prevent core stuff to work) #####################
##################### YOU SHOULDN'T MESS WITH THEM (core packages and may cause bootloop) #####################
#"com.google.android.captiveportallogin"
# Support for captive portal : https://en.wikipedia.org/wiki/Captive_portal
# A captive portal login is a web page where the users have to input their login information or accept the displayed terms of use.
# Some networks (typically public wifi network) use the captive portal login to block access until the user inputs
# some necessary information
# NOTE : This package is a now a mandatory mainline module (https://www.xda-developers.com/android-project-mainline-modules-explanation/)
#"com.google.android.modulemetadata"
# Module that contains ... metadata about the list of modules on the device. And thats about it.
# I wouldn't advise you to mess with it as it could break the proper working of other important modules (see #37)
# Good explanation of what android modules are : https://www.xda-developers.com/android-project-mainline-modules-explanation/
#"com.google.android.ext.services"
#"com.google.android.overlay.modules.ext.services"
# Android Services Library that contains an "Android Notification Ranking Service."
# It sorts notifications by "importance" based on things like freshness, app type (IM apps come first), and by contact.
# The library android.ext.services is open-source. Google probably uses it to update its API without having to rely to the OEM
# It is a mainline module and is needed to boot since Android 11! NO NOT REMOVE IT!
# https://source.android.com/devices/architecture/modular-system/extservices
# https://arstechnica.com/gadgets/2016/11/android-extensions-could-be-googles-plan-to-make-android-updates-suck-less/
#"com.google.android.networkstack"
# Network Stack Components
# https://source.android.com/devices/architecture/modular-system/networking
# Provides common IP services, network connectivity monitoring, and captive login portal detection.
#"com.google.android.networkstack.permissionconfig"
# Network Stack Permission Configuration
# Defines a permission that enables modules to perform network-related tasks.
# https://source.android.com/devices/architecture/modular-system/networking
#"com.google.android.packageinstaller"
#"com.google.android.packageinstaller.a_overlay"
# Gives ability to install, update or remove applications on the device.
# If you delete this package, your phone will probably bootloop.
# If you delete this package, your phone will probably bootloop.
#"com.google.android.permissioncontroller"
#"com.google.android.overlay.modules.permissioncontroller"
#"com.google.android.overlay.modules.permissioncontroller.forframework"
# The PermissionController module enables updatable privacy policies and UI elements.
# For example, the policies and UI around granting and managing permissions.
# https://source.android.com/devices/architecture/modular-system/permissioncontroller
#"com.google.mainline.telemetry"
# It's a set of metrics-related modules. Google Play uses the version of the Telemetry module to determine
# if updates are available for metrics-related modules and which security patch version to display to the end user.
# This module doesnt contain active code and has no functionality on its own.
# Removing modules-related packages may not be safe since Android 11
# https://gitlab.com/W1nst0n/universal-android-debloater/-/issues/27#note_410012436

View file

@ -1,16 +1,37 @@
# !/bin/bash
#!/usr/bin/env bash
declare -a huawei_bloat=(
# I NEVER HAD AN HUAWEI DEVICE ON HAND. THIS LIST WAS MADE POSSIBLE BY @REDSKULL23
declare -a huawei=(
# I NEVER HAD AN HUAWEI DEVICE ON HAND. THIS LIST WAS MADE POSSIBLE BY @REDSKULL23
# https://forum.xda-developers.com/honor-6x/how-to/guide-list-bloat-software-emui-safe-to-t3700814
# Yet, his documentation is not enough precise to me.
# I already made more intensive search on the web to complete it but I need Huawei users to really improve it.
# Additional informaton were taken from https://forum.xda-developers.com/huawei-p40-pro/how-to/adb-debloating-t4088633
# Yet, those documentations are not precise enough. If you have additional information, please contribute to this list
# I use [MORE INFO NEEDED] tag as a marker.
# If you have EMUI 10 or older, check the AOSP file, as Huawei uses AOSP package name for their own app.
"com.android.keyguard"
# HUAWEI magazine unlock (The package name is really confusing)
# It's a proprietary app based on the AOSP package called com.android.keyguard. That's not clever at all.
# https://consumer.huawei.com/en/support/content/en-us00206571/
# Lets you customize your lock screen wallpapers
"com.android.hwmirror"
# Mirror
# Lets you use your phone as a mirror...
"com.baidu.input_huawei"
# Woh! 51 permissions!
# Huawei chinese stock input keyboard.
#"com.bjbyhd.screenreader_huawei"
# An accessibility feature for visually impaired people
"com.hicloud.android.clone"
# Huawei Phone Clone (https://play.google.com/store/apps/details?id=com.hicloud.android.clone)
# 171 Permissions (https://reports.exodus-privacy.eu.org/fr/reports/144565/)
# Data migration application between Huawei phones.
# Keep in mind that all your data will be synchronised in the Huawei cloud and collected by the company.
# https://cloud.huawei.com/privacyStatementTransit
"com.huawei.android.chr"
# HwChrService
# Huawei Call History Record.
@ -29,14 +50,13 @@ declare -a huawei_bloat=(
# Mobile payment and e-wallet service for Huawei devices that offers the same services as Apple Pay, Samsung Pay etc...
# https://consumer.huawei.com/en/mobileservices/huawei-wallet/
"com.huawei.android.instantonline" # [MORE INFO NEEDED]
# no noticable consequences
"com.huawei.android.instantshare"
# Huawei Share features.
# File transfer tool between Huawei mobiles, using Bluetooth connection and WiFi Direct technology.
#"com.huawei.android.internal.app"
# Component of Huawei sharing. A read someone saying "Do not remove or you won't be able to send files to apps".
# Can someone test it ?
"com.huawei.android.karaoke"
# Karaoke mode feature.
@ -44,24 +64,28 @@ declare -a huawei_bloat=(
# MirrorShare feature (Miracast rebranded by Huawei)
# Used to mirror screen of you smartphone on a TV.
"com.huawei.android.pushagent" # [MORE INFO NEEDED]
# push notification agent
# Seems to only be used for Huawei apps
# The recompiled java code makes it look like it's once again mainly used for analytics.
"com.huawei.android.remotecontroller"
# Huawei Smart Controller app.
# Lets you you add, customize, and set up remote controls, allowing control of your electronic appliances through your phone.
"com.huawei.android.tips"
# Huawei Tips.
# HUAWEI Feature Advisor
# Periodically gives you notifications on how to use certain features on your phone.
"com.huawei.android.totemweather"
# Huawei Weather app.
"com.huawei.android.totemweatherapp"
"com.huawei.android.totemweatherwidget"
# Huawei Weather app (and its widget)
"com.huawei.android.wfdft"
"com.huawei.android.wfdirect"
# Wi-Fi Direct feature.
# Enables Wi-Fi Direct devices to establish a direct Wi-Fi connection over which the two can send and receive files.
#"com.huawei.aod" [MORE INFO NEEDED]
# Always On Display feature.
# Drain battery for nothing really useful.
# RedSkull23 says it's unsafe to remove it. Does it bootloop ?
# Note: Wifi direct enables devices to establish a direct Wi-Fi connection (without a router) over which the two can send and receive files.
"com.huawei.appmarket"
# Huawei app store (AppGallery)
@ -70,23 +94,39 @@ declare -a huawei_bloat=(
"com.huawei.arengine.service"
# Augmented reality service.
#"com.huawei.bluetooth" # [MORE INFO NEEDED]
# Still not clear about his purpose. A user said "Import contact via Bluetooth function" as a description.
# I need a confirmation.
"com.huawei.bd"
# HwUE (Huawei UserExperience)
# When a company call a something 'UserExperience' you know you don't need this.
# Analytics service, run at boot. Collect information about packages/apps usages.
# Has a nice custom permission called com.huawei.permission.BIG_DATA
"com.huawei.bluetooth"
# Lets you import your contacts via Bluetooth
# Bluetooth will still work if you remove this package.
"com.huawei.browser"
# Huawei Browser app.
"com.huawei.browserhomepage"
# Huawei Browser component.
"com.huawei.compass"
# Huawei Compass app.
"com.huawei.contactscamcard"
# CamCard is a business card reader app.
"com.huawei.contacts.sync" # [MORE INFO NEEDED]
# Huawei Contacts sync
# My guess (can't have the apk on hand) is this enables you to synchronise your contacts with your Huawei account.
"com.huawei.desktop.explorer" # [MORE INFO NEEDED]
# From XDA thread : "Service that is been used when you wanna use your phone as an operative system on a PC."
# I don't understand what does it mean.
"com.huawei.email"
# Huawei Email app.
"com.huawei.fido.uafclient"
# UAF client for FIDO.
# Fido is a set of open technical specifications for mechanisms of authenticating users to online services that do not depend on passwords.
@ -96,7 +136,10 @@ declare -a huawei_bloat=(
# The UAF protocol is designed to enable online services to offer passwordless and multi-factor security by allowing users to register their device
# to the online service and using a local authentication mechanism such as iris or fingerprint recognition. .
# https://developers.google.com/identity/fido/android/native-apps
# Safe to remove if you don't use password-less authentification to access online servics
# Safe to remove if you don't use password-less authentification to access online servics.
"com.huawei.game.kitserver" # [MORE INFO NEEDED]
# Probably safe to remove if you don't play games
"com.huawei.gameassistant"
# Huawei Game Suite (HiGame).
@ -109,17 +152,39 @@ declare -a huawei_bloat=(
# A geofence is a virtual perimeter set on a real geographic area. Combining a user position with a geofence perimeter,
# it is possible to know if the user is inside or outside the geofence or even if he is exiting or entering the area.
"com.huawei.hwsearch"
# Petal Search widget. Used for finding apps/apks on serveral online sources (introduced after Google Mobile Services Ban).
"com.huawei.hwid"
# Huawei Mobile Services (https://play.google.com/store/apps/details?id=com.huawei.hwid)
# Needed to access advanced Huawei features.
# A Huawei ID is required to access services, like Themes, Mobile Cloud, HiCare, Huawei Wear, Huawei Health
"com.huawei.hiaction" # [MORE INFO NEEDED]
# no noticable consequences
"com.huawei.hiai" # [MORE INFO NEEDED]
# no noticable consequences
"com.huawei.hiassistantoversea"
# HiVoice. Huawei's voice assistant to replace "Hey Google"
"com.huawei.hicard" # [MORE INFO NEEDED]
# Huawei Cards, no noticable consequences
"com.huawei.hicloud"
# Huawei cloud features
"com.huawei.hifolder"
# Huawei Online Cloud folder service
# https://consumer.huawei.com/en/mobileservices/mobilecloud/
"com.huawei.himovie.overseas"
# Huawei video (https://play.google.com/store/apps/details?id=com.huawei.himovie.overseas)
#"com.huawei.hiview"
#"com.huawei.hiviewtunnel"
# This displays details/attributes of pictures in the gallery (ISO, exposure time, etc.).
"com.huawei.himovie.overseas"
# Huawei stock video application (https://play.google.com/store/apps/details?id=com.huawei.himovie.overseas). Replace with VLC, which integrates well with the stock gallery.
"com.huawei.hitouch"
# Huawei HiTouch
@ -128,18 +193,27 @@ declare -a huawei_bloat=(
"com.huawei.hwasm"
# FIDO UAF Autenthicator-Specific Module.
# See com.huawei.fido.uafclient for FIDO explaination.
# See 'com.huawei.fido.uafclient' for FIDO explaination.
# The UAF Authenticator-Specific Module (ASM) is a software interface on top of UAF authenticators which gives a standardized way for FIDO UAF clients
# to detect and access the functionality of UAF authenticators and hides internal communication complexity from FIDO UAF Client.
# Source : https://fidoalliance.org/specs/fido-uaf-v1.0-ps-20141208/fido-uaf-asm-api-v1.0-ps-20141208.html
"com.huawei.hwblockchain" # [MORE INFO NEEDED]
# probably blockchain related, no noticable consequences
"com.huawei.hwdetectrepair"
# Huawei Smart diagnosis (https://play.google.com/store/apps/details?id=com.huawei.hwdetectrepair)
# Useless features and run in background.
"com.huawei.HwMultiScreenShot"
#"com.huawei.HwMultiScreenShot"
# Scrolling screenshot feature
"com.huawei.hwstartupguide"
# A one-time setup app that is no longer needed
"com.huawei.hwvoipservice"
# MeeTime (https://consumer.huawei.com/en/support/content/en-us00956296/)
"com.huawei.iaware"
# App Prioritizer. Prioritizes apps to avoid slowdown
# Up to you but there is apparently no noticeable difference when deleted.
@ -147,16 +221,34 @@ declare -a huawei_bloat=(
"com.huawei.ihealth"
# MotionService package, it's required for actions like shaking the phone to shut off the alarm, ecc.
"com.huawei.intelligent"
# Huawei Assistant. Shopping recommendations
"com.huawei.health"
# Huawei Health (https://play.google.com/store/apps/details?id=com.huawei.health)
# Connect Huawei wearables to your phone and all sorts of stats like all fitness tracking apps.
# Live wallpapers
"com.huawei.livewallpaper.paradise"
# Live wallpaper service.
"com.huawei.livewallpaper.artflower"
"com.huawei.livewallpaper.flowersbloom"
"com.huawei.livewallpaper.mountaincloud"
"com.huawei.livewallpaper.naturalgarden"
"com.huawei.livewallpaper.ripplestone"
"com.huawei.magazine"
# Magazine unlock. Downloads wallpapers for your lock screen.
"com.huawei.mirror" # [MORE INFO NEEDED]
# Huawei Mirror app.
# Mirror like "Glass" or "screen mirror" ?
# Mirror like "Glass"
"com.huawei.mirrorlink"
# Huawei mirrorlink implementation
# Used to connect your phone to a car (with https://mirrorlink.com/ support) in order to provide audio streaming, GPS navigation...
"com.huawei.music"
# Huawei Music app.
"com.huawei.parentcontrol"
# Parental controls functions.
@ -168,16 +260,11 @@ declare -a huawei_bloat=(
"com.huawei.phoneservice"
# HiCare (https://play.google.com/store/apps/details?id=com.huawei.phoneservice)
# Provides you with common online services including customer services, issue feedback, user guides, service centers and self-service.
"com.huawei.screenrecorder"
# Huawei Screen recorder feature.
"com.huawei.search"
# HiSearch
# Allows you to search through settings, files, contacts and notes while keeping a record of your search history.
# Hi Search is really annonying because it's triggered as soon as you wipe down from the middle part of the home.
# Provides you common online services including customer services, issue feedback, user guides, service centers and self-service.
"com.huawei.scanner"
# AI Lens. Shop for objects that you take a picture of. This de-clutters the camera interface by removing the AI Lens button on the top left corner and does not break the AR Measure app.
"com.huawei.stylus.floatmenu"
# Floating menu with M-Pen feature.
@ -186,10 +273,14 @@ declare -a huawei_bloat=(
# Seems to be related to B2B (Business To Business) cloud stuff.
# https://www.huawei.com/en/press-events/news/2016/10/Cloud-Network-Synergy-Whitepaper
"com.huawei.tips"
# HUAWEI Feature Advisor
# Periodically gives you notifications on how to use certain features on your phone.
"com.huawei.trustagent" # [MORE INFO NEEDED]
# Smart unlock feature.
# nables you to unlock your phone with a Bluetooth device, like a smart band.
# When a compatible Bluetooth device is detected, you can unlock your phone with a simple swipe.
# Enables you to unlock your phone with a Bluetooth device, like a smart band.
# When a compatible Bluetooth device is detected, you can unlock your phone with a simple swipe (without a password).
"com.huawei.vassistant"
# HiVoice app.
@ -199,6 +290,12 @@ declare -a huawei_bloat=(
"com.huawei.videoeditor"
# Huawei Video editor.
"com.huawei.vassistant"
# HiVoice app
# Huawei voice assistant (like Siri or Google assistant)
# Huge privacy risk. Keep in mind that the app keeps the microphone *on* non-stop.
# Is now Celia (https://consumer.huawei.com/en/emui/celia/)
"com.huawei.wallet"
# Huawei Wallet (renammed Huawei Pay)
# Mobile payment and e-wallet service for Huawei devices that offers the same services as Apple Pay, Samsung Pay etc...
@ -206,7 +303,8 @@ declare -a huawei_bloat=(
"com.huawei.watch.sync" # [MORE INFO NEEDED]
# Huawei Watch sync function
# Is it only used to sync Huawei watch ?
# Is it only used to sync Huawei watch ?
# Safe to remove according to several users
"com.iflytek.speechsuite"
# Default voice input method from iflytek, a big chinese company (https://en.wikipedia.org/wiki/IFlytek)
@ -221,17 +319,77 @@ declare -a huawei_bloat=(
############################## ADVANCED DEBLOAT ##############################
"com.android.mediacenter"
# Huawei music app. (Yeah they messed up with the package name)
#"com.hisi.mapcon"
# Provides wifi calling feature (call or text on Wi-Fi networks using your SIM card)
# NOTE: Instant messaging video/voice call does not use this "wifi calling" feature.
# Btw, you should use a E2EE messaging app like Signal/Session/Element(https://element.io/) instead of the non-secure wifi-calling feature
# provided by your carrier.
# "com.hisi.mapcon"
# Involved in Wifi Calling. Safe to remove if you don't use this.
# "com.huawei.hidisk"
# Huawei File Manager app.
#"com.huawei.KoBackup"
# As of writing this, Huawei phones cannot be rooted.
# This Backup application is probably able to backup more than any other 3rd party backup app.
#"com.huawei.android.thememanager" # [MORE INFO NEEDED]
# Huawei Themes (https://play.google.com/store/apps/details?id=com.huawei.android.thememanager)
# Lets you use Huawei themes
# You should still be able to set wallapers without it. Can someone check?
#"com.huawei.aod" [MORE INFO NEEDED]
# Always On Display feature.
# Drain battery (though not much on OLED screens) for nothing really useful.
# RedSkull23 says it's unsafe to remove it. Does it bootloop ?
#"com.huawei.android.internal.app" # [MORE INFO NEEDED]
# Component of Huawei sharing. I read someone saying "Do not remove or you won't be able to send files to apps".
# Can someone test it ?
#"com.huawei.android.launcher"
# Huawei launcher app.
# It's basically the home screen, the way icons apps are organized and displayed.
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
)
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
# You will maybe need this package for the recent apps feature to work (even if you have another launcher)
#"com.huawei.calculator"
# Huawei Calculator app.
#"com.huawei.calendar"
# Huawei Calendar app.
#"com.huawei.contacts"
# Huawei Contacts app
#"com.huawei.deskclock"
# Huawei Clock App.
#"com.huawei.photos"
# Huawei Gallery app.
# Note: The official camera app refuses to open photos in another gallery (you can't review your picture from the camera app)
#"com.android.mediacenter"
# Huawei music app. (Yeah they messed up with the package name)
#"com.huawei.screenrecorder"
# Huawei Screen recorder feature (with internal mic record toggle)
#"com.huawei.hidisk"
# Huawei File Manager app.
#"com.huawei.search"
# HiSearch
# Allows you to search through settings, files, contacts and notes while keeping a record of your search history.
# Hi Search is really annonying because it's triggered as soon as you wipe down from the middle part of the home.
#"com.huawei.securitymgr" # [MORE INFO NEEDED]
# PrivateSpace
# Lets you store private information in a hidden space within your device that can only be accessed
# with your fingerprint or password.
# TODO: Data at rest encryption? If not, this is useless
# https://consumer.huawei.com/en/support/content/en-us00754246/
)
##################### YOU SHOULDN'T MESS WITH THEM (core packages and may cause bootloop) #####################
# "com.huawei.systemmanager"
# Huawei System Manager app
# Manage apps behavior and authorize them to run (or not) in background.

View file

@ -1,6 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a lg_bloat=(
declare -a lge=(
# I NEVER HAD A LG DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it. But I need LG users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
@ -32,7 +32,7 @@ declare -a lg_bloat=(
"com.lge.drmservice"
# DRM Service
# Use to support DRM content playback. It manages the DRM Client, which holds a particular type of information required to get a license key.
# Needed to read DRM content playback. It manages the DRM Client, which holds a particular type of information required to get a license key.
# REMINDER : DRM = all the things that restrict the use of proprietary hardware and copyrighted works.
# ==> https://en.wikipedia.org/wiki/Digital_rights_management
# ==> https://creativecommons.org/2017/07/09/terrible-horrible-no-good-bad-drm/
@ -135,8 +135,9 @@ declare -a lg_bloat=(
# IFTTT = “if this, then that.”. Smart Settings can be seens as IFTTT.
# Some events automatically triggers actions.
"com.lge.ime"
#"com.lge.ime"
# LG Stock Keyboard
# Do not remove if you don't have an alternate keyboard available. Personally, I keep the stock keyboard just in case the keyboard app crash/fails (this happened to me once) locking me out of entering password.
"com.lge.ime.solution.handwriting"
# Handwriting feature on the LG keyboard
@ -170,6 +171,7 @@ declare -a lg_bloat=(
# User Interface (UI) for displaying location tracking reccord on the Health app (com.lge.lifetracker) ?
"com.lge.lgsetupview"
"com.lge.LGSetupView"
# Setup View
# LG first setup (related to com.android.LGSetupWizard).
# The first time you turn your device on, a Welcome screen is displayed. It guides you through the basics of setting up your device.
@ -360,23 +362,45 @@ declare -a lg_bloat=(
# REMINDER : Hotspot enable you to share the phones 4G data connection with any Wi-Fi capable devices.
# It is not the Hotspot feature. Only the widget !
"com.lge.appwidget.dualsimstatus"
# Dual SIM status widget
# Probably only present in dual sim LG phone variants. Does not remove the persistent notification or dual SIM functionality.
"com.lge.hiddenpersomenu"
"com.lge.hiddenmenu"
"com.lge.operator.hiddenmenu"
"com.lge.servicemenu"
# Service menus. I believe if you remove the last one the secret code you can dial doesn't work anymore (who needs it anyway..?)
"com.rsupport.rs.activity.lge.allinone"
# LG support App remote access
# You probably don't want that to happen
"com.lge.laot"
# LAOP test [MORE INFO NEEDED]
# I don't know what LAOP is. I could not find information about it. It's a test so it's probably fine. I have removed it.
"com.lge.lgfmservice"
# Radio
####################### UP TO YOU #######################
#"com.lge.bnr.launcher" [MORE INFO NEEDED]
"com.lge.bnr.launcher"
# LG Mobile Switch Launcher
# My supposition is that bnr = backup and restore. So this package should not be the launcher itself but just a backup tool for the LG backup.
# Can someone confirm ?
# This doesn't remove the default launchers.
# It is most likely to backup/restore the user's launcher configuration.
#"com.lge.clock"
# LG Clock ap
# LG Clock app
#"com.lge.filemanager"
# Stock file manager
#"com.lge.homeselector" # [MORE INFO NEEDED]
"com.lge.homeselector"
# LG Home selector
# I believe it is used to switch between launchers.
# It would be nice if someone test it.
# This is the settings menu for the home launcher (present in the settings app as "Home launcher")
# If you remove this app, the Home screen settings menu is gone from settings app. (not needed if you use external launcher)
# You can still switch between installed launchers, the package name is a bit misleading.
#"com.lge.launcher2"
# LG Home (v2)
@ -405,10 +429,49 @@ declare -a lg_bloat=(
# Provide Android upgrade and LG updates (Settings --> System --> Update Center)
# I believe you won't receive any updates if this packages is deleted.
#"com.lge.theme.black"
#"com.lge.theme.white"
#"com.lge.theme.titan" # This one is labelled 'Platinum' in themes app
#"com.lge.theme.highcontrast"
# Various themes. Safe to remove any you don't want/use. I could not find the package for the default (LG) theme.
# Make sure you don't delete the package for the theme you're currently using. I don't know what will happen then.
#"com.lge.signboard"
# Always on display. Probably a battery killer if used with OLED devices.
# You will lose the menu in the settings app that allows you to set the always on display. From the top of my head I remember the default ones as clock, kitkat easter egg.
#"com.lge.equalizer" # [MORE INFO NEEDED]
# Equalizer settings.
#"com.lge.exchange" # [MORE INFO NEEDED]
# It looks like the Microsoft outlook/email in the logo. Believe this is some sort of microsoft integration.
# I don't 100% remember if I was able to add accounts to the phone still (eg. Nextcloud), I need to test that soon.
#"com.lge.gametuner"
# Settings/features for games, such as resolution and frame rate limiting.
# A little side note, any games installed in the work profile can't use gametuner (maybe if you install this package into the work profile it'll work)
#"com.lge.task"
# Task storage
# Probably related to the task app (another bloatware). I say its safe to remove if you don't use it.
#"com.lge.touchcontrol"
# I have never seen this menu in the settings app. I say its safe to remove. I can't think of any use case for this setting, it just allows you to change where you're allowed to touch the screen
#"com.lge.wapservice"
# Icon looks like email configuration. I say its safe to remove. Probably related to the stock email app.
#"com.lge.rcs.sharedsketch" [MORE INFO NEEDED]
# I have no idea what it is, maybe some drawing program related to rcs. I removed it.
#"com.lge.faceglance.trustagent"
#"com.lge.faceglance.enrollment"
# Face Recognition
# Remove if you don't need it. If you want security I don't think this is a good idea to use it.
#"com.lge.app.floating.res"
# Multitasking framework
# Allows you to use multitasking features like multiple apps in one screen.
# Does not remove screen pinning feature.
# I don't know if this removes the floating windows feature that you have to enable with ADB (to make it look more like a desktop)
)
# TODO :
# Find the main Q-voice package.
# Add more packages.

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,18 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a motorola_bloat=(
# I NEVER HAD A MOTOROLA DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it but I need Motorola users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
# [MORE INFO NEEDED] tag used as a marker, where information is lacking.
# List (with default selection) officially tested and improved with a Moto G7 Power (Android 9 & 10) by @plan10
declare -a motorola=(
"android.autoinstalls.config.motorola.layout" # [MORE INFO NEEDED]
# Device configuration for Motorola
# AutoInstall allows manufacturers to force installation of apps.
# Just a layout ?
"com.lenovo.lsf.user" # [MORE INFO NEEDED]
# Lenovo ID
# Lenovo ID (Lenovo account) gives you access to additional or exclusive features directly from Lenovo and its partners.
# I guess this package enables you to log in to lenovo account.
"com.lenovo.lsf.user"
# Lenovo ID adds an option in Settings>Accounts where you can login to a Lenovo ID account.
# Features include "exclusive features directly from Lenovo and our partners" and "syncing users information across devices"
# lsf = Lenovo Service Framework
"com.lmi.motorola.rescuesecurity"
@ -22,8 +21,8 @@ declare -a motorola_bloat=(
# It enables motorola representatives to login and remotely control the device for technical support.
"com.motorola.android.fmradio"
# FM Radio Service
# Seems to have been replaced by "com.motorola.fmplayer"
# FMRadioService
# Required by "com.motorola.fmplayer"
"com.motorola.android.jvtcmd"
# Java Tcmd Helper
@ -39,12 +38,6 @@ declare -a motorola_bloat=(
# Seems to only prodive the "home" symbol in Chrome.
# https://forum.xda-developers.com/android/apps-games/app-chrome-homepage-t3695804
# "com.motorola.android.providers.settings"
# I'm not sure about this one. Sometimes, settings providers cause bootloop.
# REMINDER : Content providers help an application manage access to data stored by itself, stored by other apps,
# and provide a way to share data with other apps. They encapsulate the data, and provide mechanisms for defining data security
# Source : https://developer.android.com/guide/topics/providers/content-providers.html
"com.motorola.android.provisioning"
# OMA Client Provisioning
# It is a protocol specified by the Open Mobile Alliance (OMA).
@ -52,25 +45,23 @@ declare -a motorola_bloat=(
# In my case, it was automatic and I never needed configuration messages. I'm pretty sure that in France this package is useless.
# Maybe it's useful if carriers change their APN... but you still can change it manually, it's not difficult.
#
# Npte : These special "confirguration SMS" can be abused :
# Note : These special "confirguration SMS" can be abused :
# https://www.zdnet.fr/actualites/les-smartphones-samsung-huawei-lg-et-sony-vulnerables-a-des-attaques-par-provisioning-39890045.htm
# https://www.csoonline.com/article/3435729/sms-based-provisioning-messages-enable-advanced-phishing-on-android-phones.html
"com.motorola.android.settings.diag_mdlog"
# diag_mdlog is a small proprietary Qualcomm program which can store DIAG logs on the filesystem.
# No longer in Android 10 image
"com.motorola.android.settings.modemdebug" # [MORE INFO NEEDED]
# Provide modem debug settings menu ?
# Provide modem debug settings menu ?
# No longer in Android 10 image
"com.motorola.appdirectedsmsproxy" # [MORE INFO NEEDED]
# An Application directed SMS (or rather a Port directed SMS) is an SMS directed to a specific port.
# Apps need to listen to this port to get the SMS message.
# I don't know if this package allows port directed SMS or if it just provide a proxy feature.
"com.motorola.audiofx"
# Audio effects
# Provide features like Equalizer, Surround sound...
"com.motorola.bach.modemstats"
# ModemStatsService
# Statistics and events logs from the modem activity.
@ -134,8 +125,15 @@ declare -a motorola_bloat=(
# https://support.motorola.com/us/en/documents/MS116403/
"com.motorola.genie"
# Device Help (https://play.google.com/store/apps/details?id=com.motorola.genie)
# Provide support features.
# Device Help (previously Moto Help) (https://play.google.com/store/apps/details?id=com.motorola.genie)
# An app that checks hardware status and gives the user contacts for support.
"com.motorola.gesture"
# Gesture navigation tutorial added in Android 10.
"com.motorola.help"
# Moto feedback (https://play.google.com/store/apps/details?id=com.motorola.help)
# Lets you rate your device and share feedback with Motorola.
"com.motorola.lifetimedata"
# Not 100% sure but it's most likely the Total Call Timer or more generally it handles info like the date of manufacture of your device,
@ -143,16 +141,19 @@ declare -a motorola_bloat=(
# Total Call Timer gives you the time you spent calling.
# I don't know how to access to these info. It's surely a hidden menu (and may be accessible through the dialer with a special code)
"com.motorola.hiddenmenuapp" # [MORE INFO NEEDED]
# Added in Android 10. Safe to remove.
"com.motorola.moto"
# Moto (https://play.google.com/store/apps/details?id=com.motorola.moto)
# App providing Moto Actions, Moto Display, and other feature families that let you customize the way you interact with your device.
# I don't really understand because Moto Actions is another app (https://play.google.com/store/apps/details?id=com.motorola.actions)
# Moto Actions is another app (https://play.google.com/store/apps/details?id=com.motorola.actions). Gestures set with "Moto" prior will continue to work provided "Moto Actions" remains installed.
"com.motorola.motocare" # [MORE INFO NEEDED]
# Moto Care was renamed in "Moto Help" and then in "Device Help"
# Provide support features.
# https://mobile.softpedia.com/blog/Moto-Care-App-Gets-Updated-Now-Called-Motorola-Help-432827.shtml
# However you can both have com.motorola.genie (Device Help) and this package so it's strange.
# However you can both have com.motorola.genie (Device Help) and this package so it's strange.
"com.motorola.motocare.internal" # [MORE INFO NEEDED]
# Core stuff for the package above I guess.
@ -167,12 +168,9 @@ declare -a motorola_bloat=(
# Displays notifications with the screen off (it's like the Always On Display feature from Samsung)
# https://support.motorola.com/uk/en/solution/ms108519
"com.motorola.msimsettings"
# Dual SIM Settings
# Provides Dual SIM feature.
"com.motorola.paks" # [MORE INFO NEEDED]
# My Q Paks ?
# ADB: Package Protected.
# My Q Paks
# Third-party application bundles
# https://www.financialmirror.com/2007/10/31/motorola-packs-moto-q-9h-global-smart-device-with-third-party-applications/
@ -186,6 +184,7 @@ declare -a motorola_bloat=(
# It offers unlimited calling between other users and Nextel phone owners, rather than universal calling credit,
# and works on a monthly subscription basis.
# https://prip.me/#get
# No longer in Android 10 image
"com.motorola.setup" # [MORE INFO NEEDED]
# Related to Motorola Account setup (only during first boot ?)
@ -202,12 +201,6 @@ declare -a motorola_bloat=(
# Provides time/weather widget on the home screen.
# https://en.wikipedia.org/wiki/Widget
"com.motorola.timezonedata"
# Time Zone Data (https://play.google.com/store/apps/details?id=com.motorola.timezonedata)
# Update timezone when traveling to foreign countries.
# According to reviews this app works really badly.
################## ADVANCED DEBLOAT ################
#"com.motorola.camera2"
@ -215,34 +208,42 @@ declare -a motorola_bloat=(
"com.motorola.actions"
# Moto Actions (https://play.google.com/store/apps/details?id=com.motorola.actions)
# Allows you to perform specific gestures to perform certain tasks.
# Allows you to perform specific gestures to perform certain tasks. Frontend to change settings provided by "com.motorola.moto".
#"com.motorola.carriersettingsext" # [MORE INFO NEEDED]
"com.motorola.carriersettingsext" # [MORE INFO NEEDED]
# Seems safe to remove for now.
# Carrier settings ext
# ext = extension ?
# Carrier settings contains APN settings for instance.
# I couldn't find any info about this package. I don't think it's safe to remove.
#"com.motorola.callredirectionservice" # [MORE INFO NEEDED]
# Added in Android 10. Safe to remove.
#"com.motorola.ccc.ota"
# Motorola Update Services
# Provide OTA system updates.
# OTA (Over-The-Air) updates allow manufacturers to remotely install new software updates, features and services.
#"com.motorola.comcast.settings.extensions" # [MORE INFO NEEDED]
"com.motorola.comcast.settings.extensions" # [MORE INFO NEEDED]
# Most likely provides a special settings menu for Comcast stuff.
# I think it's safe to delete given it's surely a comcast addon but I need confirmation.
# I think it's installed on Xfinity branded phones.
# Safe to remove (tested only on non-Comcast phone).
#"com.motorola.comcastext" # [MORE INFO NEEDED]
# Provide special (useless) features from Comcast ?
# See above.
"com.motorola.comcastext" # [MORE INFO NEEDED]
# See above. Provide special (useless) features from Comcast? App title is "Activation".
# Safe to remove (tested only on non-Comcast phone).
#"com.motorola.visualvoicemail"
# ADB: Marked as non-disable
# Verizon Visual Voicemail (https://play.google.com/store/apps/details?id=com.motorola.visualvoicemail)
# On non-Verizon phones it has a generic "Voicemail" name and icon, and doesn't seem to active.
# "com.motorola.entitlement"
#"com.motorola.entitlement"
# Enable WiFi tethering/hotspot functionality.
# What you can do is preventing the phone from notifying the carrier about when you use hotspot. It will bypass mobile carriers tethering restrictions.
# From an ADB shell : settings put global tether_dun_required 0
#"com.motorola.faceunlock"
"com.motorola.faceunlock"
# Moto Face Unlock (https://play.google.com/store/apps/details?id=com.motorola.faceunlock)
# Lets you conveniently unlock your device by simply looking at the display.
# Note : Using face unlock is a really bad idea (security and privacy wise) :
@ -250,7 +251,7 @@ declare -a motorola_bloat=(
# https://www.kaspersky.com/blog/face-unlock-insecurity/21618/
# https://www.freecodecamp.org/news/why-you-should-never-unlock-your-phone-with-your-face-79c07772a28/
#"com.motorola.faceunlocktrustagent"
"com.motorola.faceunlocktrustagent"
# Motorola Face Unlock Agent
# Trust agent is a service that notifies the system about whether it believes the environment of the device to be trusted.
# The exact meaning of 'trusted' is up to the trust agent to define.
@ -258,13 +259,15 @@ declare -a motorola_bloat=(
# (e.g detection of a trusted face)
# https://nelenkov.blogspot.com/2014/12/dissecting-lollipops-smart-lock.html
#"com.motorola.imagertuning_athene"
#"com.motorola.imagertuning_ocean"
#"com.motorola.imagertuning_lake"
# Imager Tuning (https://play.google.com/store/apps/details?id=com.motorola.imagertuning_athene)
# ocean is a model name of a Motorola G7.
# Naming convention: imagertuning_[PHONE CODENAME]
# It's supposed to improve color, sharpness, noise when taking photo with the stock camera.
# The results are not that good (see reviews). I let you see the difference with/without the camera tuning.
#"com.motorola.invisiblenet" # [MORE INFO NEEDED]
"com.motorola.invisiblenet" # [MORE INFO NEEDED]
# Invisible net
# Hard to find info about this one. I only found something from a patent (http://www.freepatentsonline.com/5469497.html).
# It's a Google patent and Google owned Motorola so maybe it is that's it.
@ -281,7 +284,12 @@ declare -a motorola_bloat=(
# I guess launcher will not work anymore if you delete this package. Can someone confirm ?
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
#"com.motorola.motosignature.app" # [MORE INFO NEEDED]
#"com.motorola.launcher.secondarydisplay" [MORE INFO NEEDED]
# ADB: package is non-disable
# Appears to enable support for a secondary display with Moto's launcher.
"com.motorola.motosignature.app" # [MORE INFO NEEDED]
# Appears safe to remove.
# Maybe it's the service which check whether app's signature is trusted or not.
# Not useful if you know what you're doing (malwares apps are in PlayStore. This package will not protect you)
# Maybe I'm mistaken and this package does not handles app signatures. Can someone test it.
@ -289,40 +297,64 @@ declare -a motorola_bloat=(
#"com.motorola.nfc"
# Support for NFC protocol.
#"com.motorola.omadm.service" # [MORE INFO NEEDED]
"com.motorola.omadm.service" # [MORE INFO NEEDED]
# Appears safe to remove.
# Carrier Provisioning Service
# Provisioning involves the process of preparing and equipping a network to allow it to provide new services to its users.
# OMADM = OMA Device Management
# Basically, it handles configuration of the device (including first time use), enabling and disabling features provided by carriers.
# https://en.wikipedia.org/wiki/OMA_Device_Management
# Use case seems very limited : https://www.androidpolice.com/2015/03/10/android-5-1-includes-new-carrier-provisioning-api-allows-carriers-easier-methods-of-setting-up-services-on-devices-they-dont-control/
# Can someone test to remove it ? :)
#"com.motorola.pgmsystem2" # [MORE INFO NEEDED]
"com.motorola.pgmsystem2" # [MORE INFO NEEDED]
# Appears safe to remove
# PGM System
# I didn't find info about this package.
# For Me PGM = Peak Gate Power (for MOSFET transistor) but I'm not convinced it has this meaning here.
#"com.motorola.systemserver"
# ???
# At first sight it seems not safe to remove. But maybe it's only needed for Motorola apps.
"com.motorola.systemserver" # [MORE INFO NEEDED]
# Appears safe to remove. Maybe it's only needed for Motorola apps?
#"com.motorola.VirtualUiccPayment"
# Virtual UICC Payment
# UICC stands for Universal Integrated Circuit Card. It is a new generation SIM (Subscriber Identification Module) which can have multiple applications on it.
# UICC stands for Universal Integrated Circuit Card.
# It is a the physical and logical platform for the USIM and may contain additional USIMs and other applications.
# (U)SIM is an application on the UICC.
# https://bluesecblog.wordpress.com/2016/11/18/uicc-sim-usim/
# I guess this package provides support for NFC payement.
# Note: The term SIM is widely used in the industry and especially with consumers to mean both SIMs and UICCs.
# https://www.justaskgemalto.com/us/what-uicc-and-how-it-different-sim-card/
"com.motorola.config.wifi" # [MORE INFO NEEDED]
# Appears safe to remove.
# WPA config App
# Wi-Fi not affected after removal.
"com.motorola.coresettingsext" # [MORE INFO NEEDED]
# Core Settings extension
# Safe to remove (no bootloop) but its usefulness remains unkown.
)
############# DO NOT REMOVE THIS (will prevent core stuff to work) ###################
#"com.motorola.config.wifi" # [MORE INFO NEEDED]
# WPA config App
# I'm pretty sure it's needed to connect the device to wifi network but maybe not... can someone test ?
##################### YOU SHOULDN'T MESS WITH THEM (core packages and may cause bootloop) #####################
#"com.motorola.coresettingsext" # [MORE INFO NEEDED]
# Core Settings ext
# ext = extension
# I don't know but it's rarely a good idea to remove "core" stuff. I'm curious tho. Can someone delete it to see what happens ?
#"com.motorola.android.providers.settings"
# Removal causes bootloop. Which is fairly common with settings providers.
# REMINDER : Content providers help an application manage access to data stored by itself, stored by other apps,
# and provide a way to share data with other apps. They encapsulate the data, and provide mechanisms for defining data security
# Source : https://developer.android.com/guide/topics/providers/content-providers.html
#"com.motorola.msimsettings"
# Dual SIM Settings
# Provides Dual SIM feature.
#"com.motorola.timezonedata"
# /!\ Causes bootloop on Moto G7 Power (Android 9/10)
# Time Zone Data (https://play.google.com/store/apps/details?id=com.motorola.timezonedata)
# Update timezone when traveling to foreign countries.
#"com.motorola.audiofx"
# /!\ Removal causes bootloop on Moto G7 Power (Android 10)
# Audio effects
# Provide features like Equalizer, Surround sound...

View file

@ -1,6 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a nokia_bloat=(
declare -a nokia=(
# I NEVER HAD A NOKIA DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it but I need Nokia users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
@ -11,19 +11,13 @@ declare -a nokia_bloat=(
# ww = Worldwide users / cn = china / tw = Taiwan / id = Indonesia
# I don't understand why there are so much overlay stuff.
# REMINDER : A screen overlay in Android, also referred to as “Draw On Top”, allows an app to display content over another app
# overlay : https://budhdisharma.medium.com/rro-runtime-resource-overlay-in-android-aosp-e094be17f4bc
# https://source.android.com/devices/architecture/rros
# blt = Bell Telephone Laboratories owned by Nokia (https://en.wikipedia.org/wiki/Bell_Labs)
"com.android.cellbroadcastreceiver.overlay.base.s600ww"
# Cell broadcast is a method of sending messages to multiple mobile telephone users in a defined area at the same time.
# It is often used for regional emergency alerts.
# I think this package only handles notifications overlay for broadcast cell, not the implementation.
# It seems to me that broadcast SMS use normal notifications so there is chances that this package provide special overlay for Nokia SMS app ?
"com.android.partnerbrowsercustomizations.btl.s600ww.overlay"
# Add Nokia (annoying) stuff in your browser ?
# btl = Bell Telephone Laboratories
# Add Nokia pinned bookmarks in your chromium based browser
"com.android.providers.calendar.overlay.base.s600ww" # [MORE INFO NEEDED]
# "com.android.providers.calendar" is necessary to sync stock Calendar app and lets it work correctly.
@ -54,23 +48,22 @@ declare -a nokia_bloat=(
# Another overlay for APN widget this time. Seems useless to me
# REMINDER : APN means Access Point Name and must be configured with carrier values in order your device could acess carrier network.
##### WHAT IS EVENWELL #####
# Evenwell/FiH is chinese company. Specifically, they are a subsidary of the massive Foxconn group that manufactures consumer electronics for sale
# around the world.
##### WHAT IS EVENWELL? #####
# Evenwell/FiH is chinese company. Specifically, they are a subsidary of the massive Foxconn group that manufactures
# consumer electronics for sale around the world.
# You should read the Foxxconn wikipedia page and especially the Controversies section (https://en.wikipedia.org/wiki/Foxconn#Controversies)
# Evenwell apps was caught to send personnal data to chinese servers
# https://arstechnica.com/gadgets/2019/03/hmd-admits-the-nokia-7-plus-was-sending-personal-data-to-china/
#
#
# Majority of evenwell app are useless background apps.
"com.evenwell.AprUploadService"
"com.evenwell.AprUploadService" # [MORE INFO NEEDED]
"com.evenwell.AprUploadService.data.overlay.base"
"com.evenwell.AprUploadService.data.overlay.base.s600ww"
"com.evenwell.AprUploadService.data.overlay.base.s600id"
# Apr Upload Service ????
"com.evenwell.autoregistration"
"com.evenwell.autoregistration" # [MORE INFO NEEDED]
"com.evenwell.autoregistration.overlay.base"
"com.evenwell.autoregistration.overlay.base.s600id"
"com.evenwell.autoregistration.overlay.base.s600ww"
@ -85,12 +78,12 @@ declare -a nokia_bloat=(
"com.evenwell.batteryprotect.overlay.base"
"com.evenwell.batteryprotect.overlay.base.s600id"
"com.evenwell.batteryprotect.overlay.base.s600ww"
"com.evenwell.batteryprotect.overlay.d.base.s600e0"
# Battery protect is advertised to improve battery performance but in practice it drains your battery and kills apps to aggressively.
# https://dontkillmyapp.com/nokia
# Nokia decided to stop using this app-killer in the future
# https://www.androidpolice.com/2019/08/27/nokia-hmd-phones-disable-evenwell-background-process-app-killer/
"com.evenwell.bboxsbox" # [MORE INFO NEEDED]
"com.evenwell.bboxsbox.app"
# ????
@ -107,7 +100,6 @@ declare -a nokia_bloat=(
# Surely used to push new carrier internet/MMS settings automatically
# Maybe it's useful if carriers change their APN... but you still can change it manually, it's not difficult.
"com.evenwell.custmanager" # [MORE INFO NEEDED]
"com.evenwell.custmanager.data.overlay.base"
"com.evenwell.custmanager.data.overlay.base.s600id"
@ -129,7 +121,7 @@ declare -a nokia_bloat=(
"com.evenwell.DbgCfgTool.overlay.base.s600ww"
# Debug config tool ?
"com.evenwell.defaultappconfigure.overlay.base.s600ww"
"com.evenwell.defaultappconfigure.overlay.base.s600ww" # [MORE INFO NEEDED]
# ????
"com.evenwell.DeviceMonitorControl" # [MORE INFO NEEDED]
@ -142,14 +134,11 @@ declare -a nokia_bloat=(
# Overlay for email app
"com.evenwell.factorywizard"
"com.evenwell.factorywizard.overlay.base"
"com.evenwell.factorywizard.overlay.base.s600ww"
# Most likely a configuration setup after a factory reset (and/or after first boot)
# Guides you through the basics of setting up your device.
"com.evenwell.fmradio"
"com.evenwell.fmradio.overlay.base.s600ww"
# Nokia radio app
"com.evenwell.foxlauncher.partner" # [MORE INFO NEEDED]
# Partner Launcher Customization
# Related to the Nokia launcher
@ -179,11 +168,6 @@ declare -a nokia_bloat=(
# Net Promoter Score
# Preinstalled survey.
#"com.evenwell.OTAUpdate" # [MORE INFO NEEDED]
#"com.evenwell.OTAUpdate.overlay.base.s600ww"
# Related to OTA Update (Over-The-Air updates, updates from Nokia)
# May not be safe if you still receive updates.
"com.evenwell.pandorasbox" # [MORE INFO NEEDED]
"com.evenwell.pandorasbox.app"
# WTF is this ?
@ -199,6 +183,7 @@ declare -a nokia_bloat=(
# ????
"com.evenwell.phone.overlay.base.s600ww"
"com.evenwell.phone.overlay.base"
# Overlay for the dialer app
"com.evenwell.PowerMonitor"
@ -210,7 +195,8 @@ declare -a nokia_bloat=(
#"com.evenwell.powersaving.g3"
#"com.evenwell.powersaving.g3.overlay.base.s600id"
#"com.evenwell.powersaving.g3.overlay.base.s600ww"
# Does nokia powersaving is effective ?
#"com.evenwell.powersaving.g3.overlay.d.base.s600e0"
# Is nokia powersaving really effective?
"com.evenwell.providers.downloads.overlay.base.s600ww"
"com.evenwell.providers.downloads.ui.overlay.base.s600ww"
@ -226,12 +212,11 @@ declare -a nokia_bloat=(
# and provide a way to share data with other apps. They encapsulate the data, and provide mechanisms for defining data security
# Source : https://developer.android.com/guide/topics/providers/content-providers.html
"com.evenwell.pushagent"
"com.evenwell.pushagent.overlay.base"
"com.evenwell.pushagent.overlay.base.s600id"
"com.evenwell.pushagent.overlay.base.s600ww"
# Surely related to push notification for Nokia apps (only ?)
# Surely related to push notifications for Nokia apps (only ?)
"com.evenwell.retaildemoapp"
"com.evenwell.retaildemoapp.overlay.base"
@ -240,20 +225,23 @@ declare -a nokia_bloat=(
# Nokia retail demonstration mode
# https://en.wikipedia.org/wiki/Demo_mode
"com.evenwell.screenlock.overlay.base.s600ww" # [MORE INFO NEEDED]
# Overlay for the screenlock
"com.evenwell.settings.data.overlay.base.s600ww" # [MORE INFO NEEDED]
"com.evenwell.settings.data.overlay.base" # [MORE INFO NEEDED]
"com.evenwell.settings.data.overlay.base.s600ww"
# Overlay related to settings
"com.evenwell.SettingsUtils" # [MORE INFO NEEDED]
"com.evenwell.SettingsUtils"
"com.evenwell.SettingsUtils.overlay.base.s600ww"
# Settings utils
# ???
# (crapy) Audio rendering.
# See https://gitlab.com/W1nst0n/universal-android-debloater/-/issues/9#note_369056538
"com.evenwell.SetupWizard"
"com.evenwell.SetupWizard.overlay.base"
"com.evenwell.setupwizard.btl.s600ww.overlay"
"com.evenwell.SetupWizard.overlay.d.base.s600ww"
"com.evenwell.SetupWizard.overlay.base.s600ww"
# It's the basic configuration wizard that drives you through first boot and guides you through the basics of setting up your device.
@ -290,9 +278,10 @@ declare -a nokia_bloat=(
# IFAA = Chinas Internet Finance Authentication Alliance
# Chinese organisation that aim to achieve a more simple way to verify the identity of human (like passwordless authentication)
"com.hmdglobal.datago"
"com.hmdglobal.datago.overlay.base"
"com.hmdglobal.datago.overlay.base.s600ww" # [MORE INFO NEEDED]
# Most likely sends diagnostic data to HMD (Company behin Nokia)
# Just an overlay ? Weird.
# Sends diagnostic data to HMD (Company behin Nokia) ?
"com.hmdglobal.support"
# My Phone (https://play.google.com/store/apps/details?id=com.hmdglobal.support)
@ -300,14 +289,29 @@ declare -a nokia_bloat=(
############################## ADVANCED DEBLOAT ##############################
"com.hmdglobal.camera2"
#"com.android.cellbroadcastreceiver.overlay.base.s600ww"
# Cell broadcast is a method of sending messages to multiple mobile telephone users in a defined area at the same time.
# It is often used for regional emergency alerts.
# I think this package only handles notifications overlay for broadcast cell, not the implementation.
# It seems to me that broadcast SMS use normal notifications so there is chances that this package provide special overlay for Nokia SMS app ?
#"com.hmdglobal.camera2"
# Nokia camera (https://play.google.com/store/apps/details?id=com.hmdglobal.camera2)
"com.evenwell.camera2"
#"com.evenwell.camera2"
# Nokia camera by evenwell (https://play.google.com/store/apps/details?id=com.evenwell.camera2)
"com.evenwell.hdrservice"
#"com.evenwell.fmradio"
#"com.evenwell.fmradio.overlay.base.s600ww"
# Nokia radio app
#"com.evenwell.hdrservice"
# HDR Service (https://play.google.com/store/apps/details?id=com.evenwell.hdrservice)
# Enhances contrast and sharpness for normal photos, games and videos dynamically.
#"com.evenwell.OTAUpdate" # [MORE INFO NEEDED]
#"com.evenwell.OTAUpdate.overlay.base.s600ww"
# Related to OTA Update (Over-The-Air updates, updates from Nokia)
# May not be safe if you still receive updates.
)

View file

@ -1,11 +1,11 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a oneplus_bloat=(
declare -a oneplus=(
# I NEVER HAD A ONEPLUS DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it but I need OnePlus users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
#
# In any case, OnePlus has a lot of shady logging app !
# In any case, OnePlus has a lot of shady logging apps !
"cn.oneplus.photos"
# Shot On OnePlus
@ -26,7 +26,7 @@ declare -a oneplus_bloat=(
# Used to test the hardware of your device and change hidden settings.
"com.oem.logkitsdservice"
# Used by a Shady logging app (com.oem.oemlogkit) which can be activated a bit to easily.
# Used by a Shady logging app (com.oem.oemlogkit) which can be activated a bit too easily.
# No good reason why this app is on customer devices.
# It can log WiFi traffic, Bluetooth traffic, NFC activity, GPS coordinates over time, power consumption, modem signal/data details, "lag issues," and more.
# https://thehackernews.com/2017/11/oneplus-logkit-app.html
@ -52,7 +52,7 @@ declare -a oneplus_bloat=(
"com.oneplus.bttestmode"
# OnePlus Bluetooth test mode
# Type *#*#232339#*#* in the OnePlus dialer to access hidden test menu.
# Type *#*#232339#*#* in the OnePlus dialer to access this hidden test menu.
"com.oneplus.card"
# Card Package
@ -83,15 +83,6 @@ declare -a oneplus_bloat=(
# Useless. Game launcher.
# Allows you to launch your game library as well as checking out several stats about the game, such as how long you have played.
"com.oneplus.iconpack.circle"
# OnePlus Icon Pack - Round (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.circle)
"com.oneplus.iconpack.oneplus"
# OnePlus Icon Pack (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.oneplus)
"com.oneplus.iconpack.square"
# OnePlus Icon Pack - Square (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.square)
"com.oneplus.note"
# OnePlus Notes app
@ -127,7 +118,11 @@ declare -a oneplus_bloat=(
"net.oneplus.forums"
# OnePlus Community (https://play.google.com/store/apps/details?id=net.oneplus.forums)
# Lets you access to OnePlus forum... wah that great !
# Lets you access to OnePlus forum... wah that great !
"com.oneplus.opsports"
# Cricket Scores (https://play.google.com/store/apps/details?id=com.oneplus.opsports)
# Lets you access and follow cricket teams and tournaments
"net.oneplus.odm"
"net.oneplus.odm.provider"
@ -157,7 +152,16 @@ declare -a oneplus_bloat=(
########## ADVANCED DEBLOAT ##########
"cn.oneplus.oem_tcma"
#"com.oneplus.iconpack.circle"
# OnePlus Icon Pack - Round (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.circle)
#"com.oneplus.iconpack.oneplus"
# OnePlus Icon Pack (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.oneplus)
#"com.oneplus.iconpack.square"
# OnePlus Icon Pack - Square (https://play.google.com/store/apps/details?id=com.oneplus.iconpack.square)
#"cn.oneplus.oem_tcma"
# TCMA stands for Tiered Contention Multiple Access, which is a cellular traffic management protocol.
# TCMA is a CSMA/CA protocol which schedules transmission of different types of traffic.
# I don't know if it's a good idea to remove given a CSMA/CA protocol improve QoS (https://en.wikipedia.org/wiki/Quality_of_service)

133
lists/Oppo.sh Normal file
View file

@ -0,0 +1,133 @@
#!/usr/bin/env bash
# I NEVER HAD A OPPO DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it. But I need Oppo users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
# Honestly it's very difficult to document Oppo packages. I have no .apk and I don't want to go through chinese websites.
# If you are an Oppo user. Please help. :)
# Big Thanks to @KOLIOSIS & @justinswidebody :
# https://forum.xda-developers.com/find-X/how-to/guide-adb-oppo-x-apps-safe-to-uninstall-t3818165
declare -a oppo=(
"com.coloros.appmanager"
"com.coloros.assistantscreen" # [MORE INFO NEEDED]
"com.coloros.backuprestore"
# Most likely Oppo backup/restore feature
"com.coloros.childrenspace" # [MORE INFO NEEDED]
"com.coloros.cloud"
# Oppo Cloud
"com.coloros.directui" # [MORE INFO NEEDED]
"com.coloros.findmyphone"
# Find my phone service
"com.coloros.gamespace"
# Game Space
# Hub for your Games + some performance optimizations
# https://community.coloros.com/thread-9962-1-1.html
"com.coloros.healthcheck" # [MORE INFO NEEDED]
"com.coloros.mcs" # [MORE INFO NEEDED]
"com.coloros.ocrscanner"
# ColorOS Optical character recognition scanner
"com.coloros.oppomultiapp" # [MORE INFO NEEDED]
"com.coloros.phonenoareainquire" # [MORE INFO NEEDED]
# Number Origin
"com.coloros.smartdrive" # [MORE INFO NEEDED]
"com.coloros.soundrecorder"
# ColorOS Sound Recorder
"com.coloros.speechassist"
# ColorOS Speech Assistant
"com.coloros.weather.service"
# Oppo Weather Services
"com.coloros.widget.smallweather" # [MORE INFO NEEDED]
"com.heytap.cloud" # [MORE INFO NEEDED]
# HeyTap Cloud
"com.mobiletools.systemhelper"
# System Helper
"com.nearme.atlas" # [MORE INFO NEEDED]
# Secure payment
"com.nearme.browser"
# Default web browser
"com.nearme.instant.platform" # [MORE INFO NEEDED]
"com.nearme.themestore"
# Themes store
"com.oppo.fingerprints.fingerprintsensortest"
# Fingerprint sensort test
"com.oppo.logkitservice" # [MORE INFO NEEDED]
"com.oppo.logkit" # [MORE INFO NEEDED]
"com.oppo.market"
# Oppo App Market
"com.oppo.music"
# Oppo Music app
"com.oppo.ovoicemanager" # [MORE INFO NEEDED]
"com.oppo.oppopowermonitor" # [MORE INFO NEEDED]
"com.oppo.quicksearchbox"
# Single swip from top to bottom search that has lots of Chinese in it
"com.oppo.securepay" # [MORE INFO NEEDED]
# Payment Protection
"com.coloros.wallet"
# Oppo Wallet
"com.realme.findphone.client2"
# Find my phone client app
##################### ADVANCED DEBLOAT #####################
#"com.coloros.filemanager"
# ColorOS File Manager
#"com.coloros.pictorial" (Lockscreen Magazine)
# Removal will result in no longer being able to access Lockscreen settings.
#"com.coloros.securitypermission"
# Handles app permission management. DO NOT REMOVE THIS
#"com.oppo.freefallingmonitor"
# Provides protection for camera slider in the event of a fall.
# Best described here: https://www.gizchina.com/2018/06/20/oppo-find-x-slide-up-camera-has-anti-fall-feature-guarantees-5-years-usage/
#"com.oppo.webview"
# Oppo Webview
# A WebView is a system component for the Android operating system (OS) that allows Android apps to display content
# from the web directly inside an application. It's based on Chrome.
# On open-source privacy oriented Webview is Bromite (https://www.bromite.org/system_web_view)
#"com.sohu.inputmethod.sogouoem"
# Default keyboard
)

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a sony_bloat=(
declare -a sony=(
# I NEVER HAD A SONY DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it but I need Nokia users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
@ -50,6 +50,9 @@ declare -a sony_bloat=(
"com.sonyericsson.music"
# Sony music player (https://play.google.com/store/apps/details?id=com.sonyericsson.music)
"com.sonyericsson.settings.res.overlay_305" # [MORE INFO NEEDED]
# Some people removed this package. I guess it's only an (useless) overlay the the settings ?
"com.sonyericsson.startupflagservice" # [MORE INFO NEEDED]
# Startup Flag Service
# Used during the production of the phone to verify that the touch input works.
@ -105,6 +108,10 @@ declare -a sony_bloat=(
# Old package for AR Effect (https://play.google.com/store/apps/details?id=com.sonymobile.androidapp.cameraaddon.areffect)
# Lets you add AR (Augmented Reality) effects to your pictures and videos.
"com.sonymobile.android.externalkeyboard"
# International keyboard layouts
# Useless if you use latin keyboard
"com.sonymobile.android.contacts.res.overlay_305"
# Overlay for Sony contacts.
# REMINDER : An overlay allows apps to display content on top of other apps.
@ -117,6 +124,15 @@ declare -a sony_bloat=(
# Used to send "anonymous" information about how you use your Sony Smartphone to Sony servers.
# Nobody knows how these info are anonymized...
#"com.sonymobile.apnupdater" # [MORE INFO NEEDED]
# I guess it automatically updates your APN settings if your carrier changes it ?
# I thought it was the role of com.android.carrierconfig.
# NOTE : The probability that your carrier's APN change is very low.
# APN : https://tamingthedroid.com/what-apn-settings-mean
#"com.sonymobile.apnupdater.res.overlay_305" # [MORE INFO NEEDED]
# Overlay for APN Updater. Useful ?
"com.sonymobile.aptx.notifier"
# Aptx Notifier
# aptX (formerly apt-X) is a family of proprietary audio codec compression algorithms owned by Qualcomm.
@ -142,7 +158,6 @@ declare -a sony_bloat=(
# I think this package only handles notifications for broadcast cell, not the implementation.
# It seems to me that broadcast SMS use normal notifications so there is chances that this package provide special notification for Sony SMS app ?
"com.sonymobile.coverapp2"
# Style Cover
# Themes for lockscreen.
@ -198,6 +213,14 @@ declare -a sony_bloat=(
# Smart backlight control
# Keeps the screen on as long as the device is held in your hand. Once you put down the device, the screen turns off according to your sleep setting.
"com.sonymobile.indeviceintelligence"
# Xperia Intelligence Engine
# This app is supposed to understand how you use the phone, the apps you prefer, and will suggest tips
# and options based on app usage, how often you use an app, what time of day...
# For me this just looks like a AI bullshit app who has a huge list of permissions and launch in background at boot
# This app performs geofencing (check if your are located in a certain perimeter, near your home for instance)
# and this doesn't looks great privacy-wise (https://en.wikipedia.org/wiki/Geo-fence)
"com.sonymobile.intelligent.gesture"
# Smart call handling
# Lets you handle incoming calls without touching the screen.
@ -206,6 +229,7 @@ declare -a sony_bloat=(
"com.sonymobile.intelligent.iengine" # [MORE INFO NEEDED]
# According to a sony user it is part of Smart Screen rotation (auto screen rotation based on the gyroscope).
# Seems not reliable.
# Does it break the screen-rotation if removed?
"com.sonymobile.intelligent.observer" # [MORE INFO NEEDED]
# IntelligentObserver
@ -288,6 +312,7 @@ declare -a sony_bloat=(
"com.sonymobile.themes.sou.cid19.silver"
"com.sonymobile.themes.sou.cid20.blue"
"com.sonymobile.themes.sou.cid21.pink"
"com.sonymobile.themes.xperialoops2"
# Sony themes
"com.sonymobile.xperialounge.services"
@ -296,6 +321,11 @@ declare -a sony_bloat=(
# such as exclusive Xperia Themes and wallpapers, as well as competitions.
# https://www.phonearena.com/news/Sony-Xperia-Lounge-shutting-down_id118252
"com.sonymobile.xperiaxlivewallpaper"
"com.sonymobile.xperiaxlivewallpaper.product.res.overlay"
# Xperia Loops
# Useless and ugly live wallaper from Sony.
"com.sonymobile.xperiaservices" # [MORE INFO NEEDED]
# Xperia services
# I guess it provides things for Sony apps but I don't know what.
@ -314,6 +344,7 @@ declare -a sony_bloat=(
#"com.sonyericsson.album"
# Sony gallery app (https://play.google.com/store/apps/details?id=com.sonyericsson.album)
#"com.sonyericsson.android.camera3d" # on older phones
#"com.sonymobile.camera"
# Sony camera app

View file

@ -1,14 +1,34 @@
#!/bin/bash
#!/usr/bin/env bash
declare -a xiaomi_bloat=(
declare -a xiaomi=(
"android.autoinstalls.config.Xiaomi.cepheus"
# Used to **auto** install stuff (Cepheus phone model) !
"android.autoinstalls.config.Xiaomi.dipper"
"android.autoinstalls.config.Xiaomi.daisy"
"android.autoinstalls.config.Xiaomi.cactus"
# android.autoinstalls.config.Xiaomi.X where X is the phone's codename
# Used to **auto** install stuff
# IMO it's a similar feature than Play Auto Install (https://forum.xda-developers.com/xperia-z/help/how-stop-google-play-auto-install-t2590253)
"android.autoinstalls.config.Xiaomi.dipper"
# Used to **auto** install stuff (Dipper phone model) !
# See above.
"android.romstats" # [MORE INFO NEEDED]
# Misleading package name. This is a Xiaomi-only package.
# Can someone provide the .apk?
# Telemetry stuff
"cn.wps.xiaomi.abroad.lite"
# Mi Doc viewer
# Documents (*.doc/docx, *.ppt/pptx, *.xls/xlsx, *.pdf, *.wps, and *.txt) viewer powered by WPS Office
# FYI: WPS is a chinese closed-source software. It's as bad as Microsoft office (privacy-wise)
# https://www.wps.com/privacy-policy
"com.android.backup"
# Xiaomi Backup and Restore feature (mislead package name).
# This package was replaced by 'com.miui.backup' on newer models.
"com.android.midrive"
# Mi Drive
# Misleading package name. It is indeed a closed-source Xiaomi application.
# Allow for cloud storage (on Mi Cloud) and syncing across multiple Android devices.
"com.autonavi.minimap"
# 高德地图 (Yeah no english translation) (https://play.google.com/store/apps/details?id=com.autonavi.minimap)
@ -40,15 +60,60 @@ declare -a xiaomi_bloat=(
# Peel Mi Remote (https://play.google.com/store/apps/details?id=com.duokan.phone.remotecontroller.peel.plugin)
# Peel Mi Remote is a TV guide extension for Xiaomi Mi Remote by "Peel Smart Remote".
"com.facemoji.lite.xiaomi.gp"
# Facemoji Keyboard Lite for Xiaomi - Emoji & Theme (https://play.google.com/store/apps/details?id=com.facemoji.lite.xiaomi.gp)
# Emoji keyboard
"com.factory.mmigroup"
# Hidden super-menu accessible by dialing *#*#64633#*#*
# This menu lists all the others hidden test/debug apps.
"com.fingerprints.sensortesttool"
# Sensor Test Tool
# Hidden test app used to test working of the fingerprint sensors.
"com.huaqin.diaglogger"
# Secret logging menu only accessible by dialing using a "secret code" (*#*#CODE#*#*)
# You can use any of these code : "995995", "996996", "9434", "334334", "5959", "477477"
# Used to log Bluetooth traffic and send them to com.miui.bugreport
# Write logs to "/sdcard/diag_logs/" | "/sdcard/wlan_logs/" | "/sdcard/MIUI/debug_log/common/"
#
# FYI Huaqin is a Chinese mobile phone research and development company.
"com.huaqin.factory"
# Hidden test app (dial *#*#64663#*#*)
# Used by technician in factory to test the hardware. Not intented to be run by end-users.
# Has a huge amount of permission.
# A vulnerability was found in 2019 (CVE-2019-15340) allowing any app co-located on the device to
# programmatically disable and enable Wi-Fi, Bluetooth, and GPS silently (and without the corresponding access permission)
# https://nvd.nist.gov/vuln/detail/CVE-2019-15340
"com.huaqin.sar" # [MORE INFO NEEDED]
# SetTransmitPower
# I can't access the apk but I'm pretty sure it is another hidden test app not meant to be used by end-user
# Given its name it could be used to adjust the transmit power of the cell phone antennas
# SAR = Specific Absorption Rate (https://en.wikipedia.org/wiki/Specific_absorption_rate)
# XDA users removed this without any issues. To be 100% sure it would be good to test the SAR without this package (just in case)
"com.milink.service"
# UniPlay Service
# I couldn't find info about it but I have the feeling it is related to some wireless/remote control.
# MIUI screen casting service.
# If removed, you'll have to use Android's native casting services which can be accessed through a 3rd party app.
"com.mipay.wallet"
"com.mipay.wallet.id"
# Mi Pay for Indonesia ?
"com.mipay.wallet.in"
# Mi Pay for India ?
# Mi Pay (https://play.google.com/store/apps/details?id=com.mipay.in.wallet)
# Contactless NFC-based mobile payment system that supports credit, debit and public transportation cards in China.
# https://www.mi-pay.com/
#
# .in = Mi Pay for India
# .id = My Pay for Indonesia
"com.miui.accessibility"
# Mi Ditto
# Accesibility feature. Dictation (TTS) and speech output,
# making mobile devices more convenient for people who have difficulties using conventionally designed smartphones.
"com.miui.audioeffect"
# AudioEffect from Xiaomi (https://developer.android.com/reference/android/media/audiofx/AudioEffect)
@ -63,6 +128,12 @@ declare -a xiaomi_bloat=(
# Mi Cloud Service
# NOTE : Settings will crash when pressing on any "Mi Cloud" button if this package is deleted.
"com.miui.huanji"
# Mi Mover (https://play.google.com/store/apps/details?id=com.miui.huanji)
# Lets you transfer your contacts, messages, personal files, all the installed apps (but not their data)
# and all the settings (app + system) from an android phone to a Xiaomi phone.
# The 2 phones will establish a direct wifi connection.
"com.miui.enbbs"
# Xiaomi Forums old package.
# Now com.mi.global.bbs.
@ -74,10 +145,19 @@ declare -a xiaomi_bloat=(
# It the app that scan an app before installing it
# NOTE : A vulnerability was found in 2019 : https://research.checkpoint.com/2019/vulnerability-in-xiaomi-pre-installed-security-app/
"com.miui.hybrid"
# Quick Apps
# It's basically an app which shows you ads and tracks you...
# Funny thing, Xiaomi's Quick Apps was reportedly being blocked by Google Play Protect.
# https://www.androidpolice.com/2019/11/19/xiaomi-quick-apps-flagged-blocked-google-play-protect/
#
# Reverse engineering of the app :
# https://medium.com/@gags.gk/reverse-engineering-quick-apps-from-xiaomi-a1c9131ae0b7
# Spoiler : you really should delete this package.
"com.miui.hybrid.accessory"
# Xiaomi Hybrid Accessory
# I don't know what the purpose of this package.
# Safe to remove according to a lot of people.
# Smartphone accessories support for Quick Apps (com.miui.hybrid)
"com.miui.micloudsync"
# Mi Cloud Sync
@ -86,13 +166,18 @@ declare -a xiaomi_bloat=(
"com.miui.miwallpaper"
# Mi Wallpaper
"com.miui.nextpay"
"com.miui.nextpay" # [MORE INFO NEEDED]
# Next Pay
# ????
# ???
"com.miui.qr"
# MUI Qr code scanner
"com.miui.smsextra"
# Dependency for MIUI Messaging (MIUI SMS app misleadingly called com.android.mms)
# You can remove it if you don't use the default SMS app (and you should)
# Run in background once the phone is booted, has access to internet and interact with Cloud Manager
"com.miui.touchassistant"
# Quick Ball/Touch Assistant
# Touch assistant with a combination of five unique shortcuts which aimed to give easy and quick access to functions and apps you use frequently.
@ -106,11 +191,6 @@ declare -a xiaomi_bloat=(
"com.miui.userguide"
# Xiaomi User guide
"com.mipay.wallet"
# Mi Pay (https://play.google.com/store/apps/details?id=com.mipay.in.wallet)
# Contactless NFC-based mobile payment system that supports credit, debit and public transportation cards in China.
# https://www.mi-pay.com/
"com.miui.analytics"
# Xiaomi Analytics
# This app is shady. According to a guy who try to reverse engineered the app, Xiaomi Analytics can replace any (signed?) package
@ -121,17 +201,23 @@ declare -a xiaomi_bloat=(
# Mi Wallpaper Carousel (https://play.google.com/store/apps/details?id=com.miui.android.fashiongallery)
# Display new photos on your lock screen every time you turn ON your screen.
"com.miui.antispam"
"com.miui.antispam" # [MORE INFO NEEDED]
# MIUI Antispam
# I didn't find any info about this package.
# spam phone numbers filter (blacklist).
# Suspicious analytics inside and has access to internet. Cloud backup possible.
# At quick glance it is not a private antispam app.
# Can someone check what data are collected/transfered?
#"com.miui.backup"
# MIUI Backup
# Local Backup/Restore feature (Settings > Additional Settings > Local backups)
# It seems this app can communicate with Mi Drop
# This app has 73 permissions and can obviously do everything it want.
"com.miui.bugreport"
# Mi Feedback
# Used to seend bug report to devs
"com.miui.calculator"
# MIUI Calculator (https://play.google.com/store/apps/details?id=com.miui.calculator)
"com.miui.cleanmaster"
# Mi Cleaner
# Clean useless files
@ -163,24 +249,24 @@ declare -a xiaomi_bloat=(
"com.miui.fm"
# MIUI FM Radio app
"com.miui.fmservice"
# FM Radio Service
# Needed by com.miui.fm to work correctly
"com.miui.gallery"
# MIUI Gallery app.
# Simple Gallery is way better, ligther and open-source (https://f-droid.org/en/packages/com.simplemobiletools.gallery.pro/)
"com.miui.hybrid"
# Quick Apps
# It's basically an app which show you ads and tracks you...
# Funny thing, Xiaomi's Quick Apps was reportedly being blocked by Google Play Protect.
# https://www.androidpolice.com/2019/11/19/xiaomi-quick-apps-flagged-blocked-google-play-protect/
#
# Reverse engineering of the app :
# https://medium.com/@gags.gk/reverse-engineering-quick-apps-from-xiaomi-a1c9131ae0b7
# Spoiler : you really should delete this package.
"com.miui.klo.bugreport"
# KLO Bugreport
# This app registers system failures and Android applications errors and sends bugs to Xiaomi servers.
"com.miui.miservice"
# Services & feedback
# Used to send feedbacks (and data) to Xiaomi. Integration in Wechat
# Seems to be able to launch 'Baidu location service'
# Has too much permisions, run in background all the time and can be removed without issue
"com.miui.msa.global"
# Main System Ads
# Analyzation of user behaviors to show you ads. Yeah Xiaomi phones has ads...
@ -193,6 +279,12 @@ declare -a xiaomi_bloat=(
# Seems to be App Vault on some phones (https://play.google.com/store/apps/details?id=com.mi.android.globalpersonalassistant)
# https://c.mi.com/thread-1017547-1-0.html
"com.miui.phrase" # [MORE INFO NEEDED]
# Frequent Phrases
# Not sure to understand how exactly it can be used but it is supposed to predict phrases you'll want to write.
# I don't know why it isn't handled in the keyboard app. This seems to be something else.
# In any case it has access to internet, is linked to MiCloud and contains a weird CloudTelephonyManager java class in his code.
"com.miui.player"
# Mi Music (https://play.google.com/store/apps/details?id=com.miui.player)
@ -200,15 +292,26 @@ declare -a xiaomi_bloat=(
# Xiaomi provider for MI Weather app (com.miui.weather)
# REMINDER : Content providers helps an application manage access to data stored by itself, stored by other apps,
# and provide a way to share data with other apps. They encapsulate the data, and provide mechanisms for defining data security
# Source : https://developer.android.com/guide/topics/providers/content-providers.html
# Source: https://developer.android.com/guide/topics/providers/content-providers.html
"com.miui.screenrecorder"
# Mi Screen Recorder
"com.miui.spock"
# Analytics app who constantly run in background.
# Sends indentifiable data to Xiaomi servers
# See https://www.virustotal.com/gui/file/70400d0055e1924966fb8367cafddc175dee914bbdc227342c9dd86fb3aa829f/details
# It leaks system version, device model, exact firmware build + some few mysterious IDs
"com.miui.systemAdSolution"
# Analyzation of user behaviors to show you ads. Yeah Xiaomi phones has ads...
# Spyware who analyse user behavior for targeted ads. Yeah Xiaomi phones has ads...
# https://www.theverge.com/2018/9/19/17877970/xiaomi-ads-settings-menu-android-phones
"com.miui.sysopt"
# SysoptApplication
# Strange app with no permission. By looking at the code it seems to be a kind of debug app.
# The app doesn't seem to do intersting stuff.
"com.miui.translation.kingsoft"
# Translation stuff by Kingsoft (https://en.wikipedia.org/wiki/Kingsoft)
@ -233,6 +336,24 @@ declare -a xiaomi_bloat=(
"com.miui.vsimcore"
# Virtual Sim core service
"com.miui.miwallpaper.earth"
"com.miui.miwallpaper.mars"
# SuperWallpaperEARTH / SuperWallpaperMARS
# Live/animated Xiaomi wallaper
"com.miui.newmidrive"
# Mi Drive (Chinese version)
# Lets you upload and sync your files on the (Mi) Cloud.
# Always run in background
"com.wapi.wapicertmanager"
# WAPI Certificates Manager
# WAPI = WLAN Authentication Privacy Infrastructure (https://en.wikipedia.org/wiki/WLAN_Authentication_and_Privacy_Infrastructure
# It was designed to replace WEP and become the new Standard but it was't rejected by the ISO (International Organization for Standardization)
# It is currently only used in China
# This app most likely manage certificates (they are used to make sure you're not connecting to a rogue Access Point)
# Note: If you live in China, you most likely want to keep it.
"com.miui.weather2"
# Mi Weather app
@ -246,6 +367,20 @@ declare -a xiaomi_bloat=(
"com.mi.android.globalpersonalassistant"
# MI Vault aka the "assistant" you open swiping left from MI Home
"com.mi.android.globalminusscreen"
# App Vault (https://play.google.com/store/apps/details?id=com.mi.android.globalminusscreen)
# Google Feed replica from Xiaomi
# Completely useless app which displays all the trending stories from the web + a bunch of other stupid things.
"com.mi.AutoTest"
# Assemble test
# Hidden app used by the manufacturer to test various hardware components
"com.xiaomi.mi_connect_service"
# MiConnectService
# Handles connection to IoT stuff
# Seems to be linked to Mi Home (com.xiaomi.smarthome)
"com.mi.global.bbs"
# Mi Community (https://play.google.com/store/apps/details?id=com.mi.global.bbs)
# Xiaomi Forum app
@ -258,9 +393,19 @@ declare -a xiaomi_bloat=(
# Can't find info about this package
# Probably used for displaying (useless) news
"com.mi.health"
# Mi Health
# Pedometer, menstrual and sleep tracker
# Your data are synchronized in the cloud.
# Do you really want Xiaomi to know you didn't slept much yesterday (your ovulation day btw...)
"com.mi.liveassistant"
# Mi Live Assistant
# I don't really know what it is. Maybe an old name for "com.mi.android.globalpersonalassistant"
# I don't really know what it is. Maybe an old name for "com.mi.android.globalpersonalassistant"
"com.mi.setupwizardoverlay"
# Weird package related to the SetupWizard (the menu which assists you to setup your phone for the first time)
# A user said he needed to remove this package to be able to properly apply a dark theme to the Settings app.
"com.mi.webkit.core"
# MI WebView
@ -278,6 +423,10 @@ declare -a xiaomi_bloat=(
"com.sohu.inputmethod.sogou.xiaomi"
# Sogou keyboard for chinese only.
"com.wt.secret_code_manager"
# Hidden app which associates an action (display logging info) to a secret code.
# This secret codes have to be dialed from the Xiaomi dialer.
"com.xiaomi.ab"
# MAB
# Has a LOT of permissions. If you try to desinstall it, Xiaomi will reinstall after reboot.
@ -290,16 +439,15 @@ declare -a xiaomi_bloat=(
"com.xiaomi.channel"
# Mi Talk
# Mi instant messaging app that lets you do practically the same thing as Whatsapp.
# NOTE : You should use Signal or Wire instead Whatsapp/Mi Talk for more privacy.
# NOTE: You should use Signal or Wire instead Whatsapp/Mi Talk for more privacy.
"com.xiaomi.gamecenter.sdk.service"
# Game Service
# Surely used to "improve" game performance
"com.xiaomi.joyose"
# Impossible to find precises info about this package.
# Some people received joyose error notifications after receiving SMS on the stock app.
# Safe to remove tho (according to a lot of users)
# Joyse Analytics and advertising
# Run in background and can't be stopped.
"com.xiaomi.jr"
# Help you getting loans when shopping.
@ -355,6 +503,7 @@ declare -a xiaomi_bloat=(
"com.xiaomi.micloud.sdk"
# Mi Cloud sdk
# sdk = Software development kit
# Seems to be a dependency for "com.miui.gallery" (the MIUI may not work if you remove this package)
"com.xiaomi.mirecycle"
# Mi Recycle
@ -372,43 +521,324 @@ declare -a xiaomi_bloat=(
# I believe it is a provider for the settings but I can't confirm (I don't have a Xiaomi device)
# A lot of people debloat this but I'd like to know more about this one.
"com.xiaomi.upnp"
# UpnpService
# UPnP = Universal Plug and Play
# Its a protocol that lets UPnP-enabled devices on your network automatically discover and communicate with each other
# For exemple it works with the Xiaomi Network Speaker (and probably a lot more Xiaomi IoT stuff)
# UPnP have a lot of security issue and you proably should disable it on your router.
# https://nakedsecurity.sophos.com/2020/06/10/billions-of-devices-affected-by-upnp-vulnerability/
# This package is the Xiaomi implementation on Android (no AOSP support)
"com.xiaomi.simactivate.service"
# Xiaomi SIM Activation Service
# Only used to activate the Find My Device feature
# For the activation to work you need to send a international SMS to China.
# Your carrier may block this by default and/or you'll probably need to pay extra for this.
"com.xiaomi.smarthome"
# Mi Home (https://play.google.com/store/apps/details?id=com.xiaomi.smarthome)
# IoT. Lets you control with Xiaomi Smart Home Suite devices.
"com.xiaomi.xmsfkeeper"
# Xiaomi Service Framework Keeper
# Logger service for 'com.xiaomi.xmsf'
################################## ADVANCED DEBLOAT ##################################
#"android.ui.overlay.ct" # [MORE INFO NEEDED]
#"android.telephony.overlay.cmcc"
#"com.android.mms.overlay.cmcc"
#"com.android.settings.overlay.cmcc"
#"com.android.systemui.overlay.cmcc"
#"com.android.networksettings.overlay.ct"
#"com.android.systemui.overlay.ct"
# Very likely to be a bunch of overlay theme from the China Mobile Communications Corporation (CMCC) / China Telecom (CT)
# Can someone remove them and see what exactly happens?
#"com.miui.wmsvc" # [MORE INFO NEEDED]
# WMService
# Run at boot, has access to internet + GPS
# I quickly looked at the decompiled code and I saw some unsanitized SQL inputs which is BAD! (vulnerable to SQL injection)
# Try to get your android unique Google advertising ID from Google Play Services.
# Feed and launch the spying/analytics app "com.miui.hybrid"
# This app doesn't seems to do essential things except for tracking.
# WARNING: Some people said removing this app causes bootloop, others said it's not.
# I'd like someone to check this. I think it should be okay if you remove all other linked Xiaomi crapwares (like the script does)
#"com.xiaomi.xmsf" # [MORE INFO NEEDED]
# Xiaomi Service Framework
# Set of API's that Xiaomi apps can used (to put it simply a lot of Xiaomi apps used the same functions which are centralized here)
# I first thought removing this will absolutely break everything but it seems not.
# I don't know the situation now but in 2016 this app constantly tried to do tcp connections in background
# Removing this big boy will definitively break Mi Cloud and Mi account (and all features needing these 2 things) but you should
# be okay if you don't use most of Xiaomi apps (what's probably the case if you use this script)
#
# Can someone try to remove this and give feedback?
# Check if alarms (from Xiaomi Clock & 3-party apps) still work if the phone is in sleep-mode.
"com.wingtech.standard" # [MORE INFO NEEDED]
# WTStandardTest
# Wingtech is a chinese Original Design Manufacturer (ODM) involved in the manufacturing of Xiaomi devices.
# There is very high chances this app is only a hardware conformance test app used during production process
# you don't need as an end-user.
# Can someone share the apk just to be 100% sure?
#"com.xiaomi.location.fused" # [MORE INFO NEEDED]
# FusedLocationProvider
# It uses a combination of a devices GPS, Wi-Fi and internal sensors to improve geolocation performance.
# The thing is there is also a Fused Location Provider embeded in 'com.google.android.gms'
# This Xiaomi location provider obviously has as much tracking as the Google one but if you can remove one tracking source
# it's still better than nothing.
# Can someone try to remove this package and give feedback please?
#"com.android.browser"
# Mi Browser
# You really should use something else.
# FYI https://www.xda-developers.com/xiaomi-mi-web-browser-pro-mint-collecting-browsing-data-incognito-mode/
#"com.android.camera"
#"com.android.camera2"
# Xiaomi Camera (I don't know why they kept this package name. It's really confusing.)
# It's a proprietary app based on the AOSP sources:
# https://android.googlesource.com/platform/packages/apps/Camera2/+/master/src/com/android/camera
#"com.android.contacts"
# MIUI Contacts and dialer
# It's the contacts app but you can access the dialer from this app.
#"com.android.email"
# Xiaomi closed-source email app based on the AOSP version. Really confusing package name.
#"com.android.fileexplorer"
# Xiaomi/Mi File Explorer (Again it's a really poor choice for a package name considering it is not the AOSP File explorer)
# It's a Closed-source app based on the AOSP version.
#"com.android.gallery3d"
# Xiaomi Gallery app (I'll stop repeating this is a really poor choice for the package name...)
#"com.android.globalFileexplorer"
# Misleading package name. It's the Xiaomi Files Manager on older phones
#"com.android.incallui"
# Xiaomi Phone (Here we go again! Another confusing package name)
# Closed-source app built on top of the AOSP package.
# The name is doubly misleading because this package is the whole dialer. It does not only provide the 'in call' screen.
#"com.android.thememanager" # [MORE INFO NEEDED]
# MIUI Themes (manager)
# Xiaomi seems to love confusing package name
# This package lets you select and apply themes provided by Xiaomi.
# There is a strong likelihood that removing this package will disable the ability to change wallpapers.
# Can someone test?
#"com.android.thememanager.module" # [MORE INFO NEEDED]
# I don't have the .apk but it is obviously related to "com.android.thememanager"
# Can someone test with this package too?
#"com.fido.asm"
# FIDO UAF Autenthicator-Specific Module.
# See 'com.huawei.fido.uafclient' for FIDO explaination.
# The UAF Authenticator-Specific Module (ASM) is a software interface on top of UAF authenticators which gives a standardized way for FIDO UAF clients
# to detect and access the functionality of UAF authenticators and hides internal communication complexity from FIDO UAF Client.
# Source: https://fidoalliance.org/specs/fido-uaf-v1.0-ps-20141208/fido-uaf-asm-api-v1.0-ps-20141208.html
#"com.fido.xiaomi.uafclient"
# UAF client for FIDO.
# Fido is a set of open technical specifications for mechanisms of authenticating users to online services that do not depend on passwords.
# https://fidoalliance.org/specs/u2f-specs-1.0-bt-nfc-id-amendment/fido-glossary.html
# https://fidoalliance.org/specs/fido-v2.0-rd-20170927/fido-overview-v2.0-rd-20170927.html
#
# The UAF protocol is designed to enable online services to offer passwordless and multi-factor security by allowing users to register their device
# to the online service and using a local authentication mechanism such as iris or fingerprint recognition. .
# https://developers.google.com/identity/fido/android/native-apps
# Safe to remove if you don't use password-less authentification to access online servics.
#"com.miui.audiomonitor" # [MORE INFO NEEDED]
# My guess is this is a feature allowing to control the sound of multiples apps.
# It's just a guess based on existing Xiaomi devices features. Can someone check this?
#"com.miui.calculator"
# MIUI Calculator (https://play.google.com/store/apps/details?id=com.miui.calculator)
#"com.miui.face"
# MIUI Biometric
# Face Unlock feature
#"com.miui.freeform"
# Floating window
# I think the name app is pretty straightforward
# You can make apps appear above other applications
# https://forum.xda-developers.com/android/miui/floating-windows-miui-12-t4125661
#"com.miui.home"
# MIUI System Launcher
# It's basically the home screen, the way icons apps are organized and displayed.
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
#"com.mi.globallayout" # [MORE INFO NEEDED]
# Home Layout
# It most likely handles the main screen layout (grid size, apps placement...)
#
# Some people removed this without issue. Can someone try and give feedback?
#"com.miui.mishare.connectivity"
# Mi Share
# Unified file sharing service between Xiaomi, Oppo, Realme and Vivo devices using Wifi-direct
# Settings -> Connection & sharing -> Mi Share
# FYI : Wifi direct allows 2 devices to establish a direct Wi-Fi connection without requiring a wireless router.
#"com.miui.misound"
# Earphones (it's the name of the app)
# Provides the sound's section in Settings and is needed for the equalizing
# Some people removed this package but I personaly don't think it's worth it. This package isn't really an issue
# (no dangerous permissions and does not run in background all the time)
# You can still remove it. You'll be just fine if you really don't need it.
#"com.miui.notification" # [MORE INFO NEEDED]
# Handles notifications in MIUI (badly according to reviews). Does it only handles notifications for Xiaomi apps?
# Embeds a tracking statistics service
# (usage tracking : `id`,`pkgName`,`latestSentTime`,`sentCount`,`avgSentDaily`,`avgSentWeekly)
# Can someone remove this package just to see if it breaks all notifications for all apps? It doesn't seem so.
# If you try don't forget to check if the settings app still works fine.
#"com.miui.powerkeeper" # [MORE INFO NEEDED]
# Battery and Performance
# (aggressive) MIUI power management (https://dontkillmyapp.com/xiaomi)
# That's a weird app that also contains a DRM Manager and a service related to Cloud Backup
# Has obviously a lot of dangerous permissions.
# I guess removing this package will decrease the battery performance. Is it that noticeable? Can someone try?
#"com.miui.zman" # [MORE INFO NEEDED]
# Mi Secure sharing
# Provides an option in the settings of the Xiaomi Gallery to automatically remove location and metadata from images
# you want to share. This do not remove metadata of the picture in the gallery but only the shared copy.
# There's also a "Secure sharing" watermark that shows up when you share photos on WeChat without metadata.
# The question is does this really remove all EXIF tags? Can someone test?
# This is a useful app anyway but do not forget that all your photos/vidoes taken with the Xiaomi camera are still geo-tagged
# (+ all others exif tags) by default.
# What you can do is at least revoke the GPS permission to the camera.
# FOSS alternative to this app :
# https://f-droid.org/fr/packages/com.jarsilio.android.scrambledeggsif/
# https://f-droid.org/fr/packages/de.kaffeemitkoffein.imagepipe/
#"com.mi.android.globalFileexplorer"
# Xiaomi Files Manager (https://play.google.com/store/apps/details?id=com.mi.android.globalFileexplorer)
#"com.xiaomi.bluetooth"
#"com.xiaomi.bluetooth.overlay"
# MIUI Bluetooth Bluetooth Control.
# You need to keep this if you want the bluetooth to work
#"com.xiaomi.bsp.gps.nps"
# GPS location
# I think bsp = board system package (https://en.wikipedia.org/wiki/Board_support_package)
# Not sure about nps (It might be Non-Permanent GPS station)
# It's a small package which seems to display a notification when an app is using GPS.
# More precisely, there is a receiver (GnssEventReceiver) which listen to com.xiaomi.bsp.gps.nps.GetEvent
# This event most likely happen when an app use the GPS and refers to the state of the communication with the GNSS:
# FIX, LOSE, RECOVER, START, STOP
# It's safe to remove if you really want to.
#"com.miui.core" # [MORE INFO NEEDED]
# MIUI SDK
# It is obiously needed for MIUI to work correctly. FYI, it manages the MIUI Analytics service.
# Will cause bootloop if removed.
# I read you can freeze it without issue. I'm... a bit dubious about this.
# If someone want to try et report the result:
# adb shell am force-stop com.miui.core && adb shell pm disable-user com.miui.core && adb shell pm clear com.miui.core
#"com.miui.guardprovider"
# Guard Provider security app
# The app includes 3 different antivirus brands built in that the user can choose (Avast, AVL and Tencent).
# This app notably perform a virus scan of any apps you want to install.
# A serious vulnerability was found in 2019
# Worth reading : https://research.checkpoint.com/2019/vulnerability-in-xiaomi-pre-installed-security-app/
# You may want to remove this app from a privacy stance.
#"com.miui.systemui.carriers.overlay"
# MIUI User interface for MCC/MNC configuration
#"com.miui.systemui.devices.overlay"
#"com.miui.systemui.overlay.devices.android"
# MIUI User interface for 'device' settings?
#"com.xiaomi.discover"
# System Apps Updater
# WARNING : Disable System app updates (but not firmware updates)
#"com.mi.android.globalFileexplorer"
# Xiaomi Files Manager (https://play.google.com/store/apps/details?id=com.mi.android.globalFileexplorer)
#"com.miui.home"
# MIUI System Launcher
# It's basically the home screen, the way icons apps are organized and displayed.
# DON'T REMOVE THIS IF YOU DIDN'T INSTALL ANOTHER LAUNCHER !
#"com.xiaomi.powerchecker"
# Power Detector
# Security> Battery> Activity Control.
# Detects abnormal power usage by apps (not all. Some Xiaomi apps are whitelisted)
# Needed for 'com.miui.powerkeeper' to work.
#"com.xiaomi.miplay_client" # [MORE INFO NEEDED]
# MiPlay Client
# Provides support for Miracast?
# https://en.wikipedia.org/wiki/Miracast
# My guess is it provides the Wireless Display feature (Settings - Connection & sharing - Cast)
# Can someone confirm?
)
####################### DO NOT REMOVE THIS (will prevent core stuff to work) #######################
##################### YOU SHOULDN'T MESS WITH THEM (core packages and may cause bootloop) #####################
#"com.android.updater"
# Mi Updater
# Provide system updates
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE!
#"com.lbe.security.miui"
# Permission manager
# Lets you monitor apps permission requests.
#"com.xiaomi.finddevice"
# Find My Device feature (in the Settings)
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE !
# Enables you to locate your lost phone and erase your data remotely.
# Your phone needs to be connected to internet (Wifi/mobile data) for this feature to work.
# REMOVING THIS PACKAGE WILL BOOTLOOP YOUR DEVICE!
#
# NOTE : I don't have a Xiaomi phone on hand anymore but maybe only disabling it will work : adb shell 'pm disable-user com.xiaomi.finddevice'
# Can someone try ?
# NOTE : You cannot disable it via adb
# According some sources, disabling MIUI optimizations in the Developer
# settings and removing the apk file in a custom recovery does not cause a
# bootloop, but I didn't test this.
#"com.miui.global.packageinstaller"
# The security check / virus scan which runs after a package installation
# Uninstalling it does not cause a bootloop
# Package installation still works fine
#"com.miui.securitycenter"
# MIUI Security app
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE !
# Provides "protection and optimization tools"
# App lock, Data usage, Security scan, Cleaner, Battery saver, Blocklist and other features.
# This package is mostly the front-end (UI).
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE!
#
# NOTE : I don't have a Xiaomi phone on hand anymore but maybe only disabling it will work : adb shell 'pm disable-user com.miui.securitycenter'
# Can someone try ?
# Can someone try?
#"com.miui.securitycore"
# Core features of the "com.miui.securitycenter"
# Removing com.miui.securitycenter will cause your device to bootlop so I guess you should not remove this package neither.
# (Can someone try just in case?)
#"com.miui.system"
# Called 'MIUI System Launcher' but it's not the launcher itself (com.miui.home is)
# This package is another core MIUI app you can't remove. It centralize a lot of default configuration values
#"com.miui.rom"
# Core package of MIUI
# DO NOT REMOVE THIS
#"com.miui.securityadd"
# Related to the MIUI Security app
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE !
# REMOVING THIS WILL BOOTLOOP YOUR DEVICE!
#
# NOTE : I don't have a Xiaomi phone on hand anymore but maybe only disabling it will work : adb shell 'pm disable-user com.miui.securityadd'
# Can someone try ?
# Can someone try ?
#"com.xiaomi.misettings"
# Xiaomi Settings app

14
lists/zte.sh Normal file
View file

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# I NEVER HAD A ZTE DEVICE ON HAND.
# I did some intensive searches on the web to find a list and I try my best to document it. But I need ZTE users to really improve it.
# I use [MORE INFO NEEDED] tag as a marker.
declare -a zte=(
"com.zte.assistant"
# ZTE Voice Assistant
"com.zte.weather"
# ZTE Weather app
)