Skip to content
This repository has been archived by the owner on Oct 5, 2023. It is now read-only.

orgua/universal-android-debloater-UI

Repository files navigation

Universal Android Debloater UI

This Repository offers a GUI for the awesome UAD-Project

NOTE: the main project was restarted with their own GUI with hints to my layout / design

Features:

  • Linux, Windows and MacOS should be supported (Windows and Linux is tested and works)
    • runs on Python and dearpygui
  • should support all versions of Android
    • but only android 10 is tested right now
  • checks packages on device against packages known to debloater-tool
    • a fresh samsung S10e has ~120 packages that can be disabled without loosing comfort
    • minimizes wakeups that drain battery, ram-usage, security concerns because of questionable manufacturer / carrier apps
  • filter for package-type, keywords, enable-status and remove-recommendation
  • packages can be enabled, disabled, installed and uninstalled
  • manually save current package data as csv locally
    • makes it easy to contribute new packages to the debloat project
  • auto-save meta-data on device (info stays even if adb does not show it anymore)
  • resizing windows adapts the table
  • log of adb operations - timestamp, device, shell-operation and response

Installation & Requirements

  • you need a 64bit System due to the dearpygui-framework
  • make sure python 3.6+ is on your system
  • installation and execution need a terminal for now
  • probably not every step is necessary on your system
  • (optional) copy your adb-key to this folder, otherwise a new one is generated and your phone wants a confirmation on first connect
  • (optional) to not mess with you python-setup, you can setup a virtual-env
  • (optional) if you cloned this repo you can just update by executing git pull inside the project folder

Linux (tested with Mint):

sudo apt install python3-pip  
sudo apt install git

git clone https://github.com/orgua/universal-android-debloater-UI.git
cd universal-android-debloater-UI

pip install -r requirements.txt

py main_gui.py

Windows 10:

  • download and install the newest python with pip
  • download and decompress these project sources into a folder
  • open cmd-terminal (with admin-rights if you don't plan to use virtual-env and your python install is system-wide)
  • run:
pip install --upgrade pip
pip install -r requirements.txt

py main_gui.py

MacOS (with python and git installed):

NOTE: there seems to be a problem with adb-shell[usb] (beta) - tool is probably not working currently

sudo easy_install pip
sudo pip install --upgrade pip

git clone https://github.com/orgua/universal-android-debloater-UI.git
cd universal-android-debloater-UI

pip install -r requirements.txt

py main_gui.py

Usage

  • WARNING AS ALWAYS: always make a full nandroid / twrp backup before changing the system!
  • config your phone to allow adb shell (see debloater project for details)
  • run py main_gui.py -> UI should appear
  • connect your device
  • data is automatically saved and fetched on device on local data-partition as "universal_android_debloater_package_list.csv"
    • this ensures that you see uninstalled packages even if adb does not show them anymore
  • you can filter for keywords above the table or for values on specific columns by clicking the cell in the first row
  • make your selection on packages and choose an action below the table, but consider the following warning notes
    • you should only remove packages that are marked safe
    • even some safe packages can ruin your experience if you got no replacement (launcher, keyboard, ..)
    • watch out for packages that are considered safe but have another device-brand or "pending.sh" as source
    • information about the packages should be shown as you click on the corresponding row
  • try rebooting and test basic functionality
  • phone shows demanding apps in the battery-usage options and ram-horders can be found in the memory-options (hidden dev menu)
  • (optional) deactivate adb after you are finished

screenshot

Todo

  • find a way to make first column wider, not possible atm
  • (tested) support for older android versions
  • connect via TCP
  • cleanup GUI, bring adb-output and debug to separate tabs
  • add some examples from different manufacturers
  • better meta-data support for known packages
  • generate binaries, mostly windows because linux and mac already ship with python
  • meta-data that would be helpful for known packages (use, where it applies)
    • package_name: name that ADB sees
    • program_name: name in UI, can be language dependant, but should default to english
    • keywords: descriptive words that allow grouping, like "samsung, bixby"
    • dependence_for: allows to warn user if this would break something
    • depending_on: (see comment right above)
    • safe_to_remove: bool
    • description: text like in current lists
    • replacement_recommended: some thing open source and light on resources, similar fn
  • better packet info could be stored on a per-file basis or like now in brand specific files, but maybe switch to yaml or similar
  • cleanup source, commiting to gui would save 1/5 LOC, but make future cli harder

About

GUI for the OLD bash UAD scripts -> current dev is at

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages