- Rust 99%
- Nix 0.6%
- Shell 0.4%
- Add an update button in the About page which links to the Github Releases page - Display if there is a new version available in the About page - Display an error if the request to Github failed - Download the new UAD version and update the software (the hard part) - Display an update button instead of the `Apps` button if there is an update available - Add a `no-self-update` cargo feature for this (we don't want auto-update if a package manager already handles this) The request is done asynchronously, each time you launch UAD or press the About button The message checking updates... is displayed in the meantime Update process: - Download the right release based on the current file name (temp_<release_name>) - Extract the executable from the tarball for Linux and MacOS release - Rename the current executable to a temp path and rename the new version as the original file name - Spawn a new process to run the new (renamed) executable and kill the current one - Remove the old executable Acknowledgement: @tarkah for the inspiration of the self-update code (https://github.com/ajour/ajour/pull/222) |
||
|---|---|---|
| .cargo | ||
| .github | ||
| resources | ||
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
Universal Android Debloater GUI
DISCLAIMER: Use at your own risk. I am not responsible for anything that could happen to your phone.
This software is still in an early stage of development. Check out the issues, and feel free to contribute!
Summary
This is a complete rewrite in Rust of the UAD project, which aims to improve privacy and battery performance by removing unnecessary and obscure system apps. This can also contribute to improve security by reducing the attack surface.
Packages are as well documented as possible in order to provide a better understanding of what you can delete or not. The worst thing which could happen is removing an essential system package needed 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 first!
In any case, you can NOT brick your device with this software! That's the main thing, right?
Features
- Uninstall/Disable and Restore/Enable system packages
- Multi-user support (e.g apps in work profiles)
- Export/Import your selection in
uad_exported_selection.txt - Multi-device support: you can connect multiple phones at the same time
- All your actions are logged so you never forget what you've done
NB : System apps cannot really be uninstalled without root (see the FAQ)
Universal debloat lists
- GFAM (Google/Facebook/Amazon/Microsoft)
- AOSP
- Manufacturers (OEM)
- Mobile carriers
- Qualcomm / Mediatek / Miscellaneous
Manufacturers debloat lists
- Archos
- Asus
- Blackberry
- Gionee
- LG
- Fairphone
- HTC
- Huawei
- Motorola
- Nokia
- OnePlus
- Oppo
- Samsung
- Sony
- TCL
- Wiko
- Xiaomi
- ZTE
Mobile carriers debloat lists
| Country | Carriers |
|---|---|
| France | Orange, SFR, Free, Bouygues |
| USA | T-Mobile, Verizon, Sprint, AT&T |
| Germany | Telekom |
| UK | EE |
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 developer panel.
- From the settings, disconnect from any OEM accounts (when you delete an OEM account package it could lock you on the lockscreen because the phone can't associate your identity anymore)
- Install ADB:
LINUX
- Install Android platform tools on your PC :
Debian Base:
$ sudo apt install android-sdk-platform-tools
Arch-Linux Base:
$ sudo pacman -S android-tools
Red Hat Base:
$ sudo yum install android-tools
OpenSUSE Base:
$ sudo zypper install android-tools
WINDOWS
-
Download android platform tools and unzip it somewhere. Add the folder to your PATH.
-
Check your device is detected:
> adb devices
- Download the latest stable release of UAD GUI here.
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 software whenever your OEM pushes 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.
Special thanks
- @mawilms for his LotRO plugin manager (Lembas) which helped me a lot to understand how to use the Iced GUI library.
- @casperstorm for the UI/UX inspiration.