Bash script using ADB to debloat non-rooted smartphones. Improve your privacy, the security and battery life of your device. https://gitlab.com/W1nst0n/universal-android-debloater
Go to file
2020-06-18 14:35:42 +00:00
lists Debloat lists update (v2.3) 2020-06-15 15:05:46 +02:00
CHANGELOG.md New Version (v2.3) 2020-06-15 20:37:41 +02:00
debloat_script.sh Added an exit error trap + fixed bugs in list_selection & check_backup_integrity 2020-06-15 18:37:44 +02:00
LICENSE Add LICENSE 2020-06-18 14:35:42 +00:00
README.md Rewrite of the "How to use" section 2020-06-15 20:26:37 +02:00

Universal Android Debloater

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 (non-rooted) Android phones.

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. 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. So make a backup !

In any case, you can NOT brick your device with this script ! That's the main thing, right ? 😃

Features

  • Quick search among all the packages of your phone
  • Uninstallation of system/user packages (manually or with the debloat lists)
  • Reinstallation of system packages (manually or with the debloat lists)
  • ADB backup (not really reliable, see the FAQ)
  • Device brand detection and auto-selection of the appropriate manufacturer debloat list
  • Logs in debloated_packages.txt and remaining_packages.txt.
  • 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)

Universal debloat lists

  • GFAM (Google/Facebook/Amazon/Microsoft)
  • AOSP bloat
  • Manufacturers bloat
  • Mobile carriers bloat
  • Miscellaneous bloat

Manufacturers debloat lists

  • Archos
  • Asus
  • LG
  • Google
  • HTC
  • Huawei
  • Motorola
  • Nokia
  • OnePlus
  • Oppo
  • Samsung
  • Sony
  • Wiko
  • Xiaomi
  • ZTE

Mobile carriers debloat lists

France USA Germany
Orange T-Mobile Telekom
SFR Verizon
Free Sprint
Bouygues / Sosh AT&T

How to use it

  • Read the FAQ !
  • Do a proper backup of your data ! You can never be too careful !
  • Enable Developer Options on your smartphone.
  • Turn on USB Debugging from the developper panel.

LINUX
  • Install Android plateform tools and qpdf on your PC :

Debian Base :

$ sudo apt install android-sdk-platform-tools qpdf

Arch-Linux Base :

$ sudo pacman -S android-tools qpdf

Fedora :

$ sudo yum install android-tools qpdf

MAC OS
  • Install Homebrew
  • Install Android plateform tools and qpdf
$ brew install android-platform-tools qpdf

WINDOWS

For now, there is no USB support in the WSL. This means you need to install both Windows and linux plateform-tools and force using adb server.

> adb devices
  • Install WSL2 (Windows Subsystem for Linux) in order to be able to run bash scripts.
  • Install Android plateform tools and qpdf from the Debian/Ubuntu shell
  • Download the last version of the script
$ sudo apt update && sudo apt upgrade
$ sudo apt install android-sdk-platform-tools qpdf
$ wget 
  • Check the version of ADB on linux & windows
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 plateform tools from Google and replace your adb binaries with the new ones :

$ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
$ sudo cp plateform-tools/adb /usr/bin/adb
$ sudo chmod 755 /usr/bin/adb
$ adb version

kill the WSL adb server and start the ADB server on Windows.

$ adb kill-server

From a windows console :

> adb kill-server
> adb start-server
> adb devices

Note : You can access your Windows files under /mnt/c/

$ bash debloat_script.sh