How to Install Universal Android Debloater Next Generation: Complete Setup Guide

Install Universal Android Debloater Next Generation by either compiling the uad-cli crate from source with Cargo or downloading pre-built binaries from the GitHub Releases page, then ensure the uad executable and Android Debug Bridge (ADB) are available in your system PATH.

Universal Android Debloater Next Generation (UAD-ng) is a Rust-based open-source tool maintained by the Universal-Debloater-Alliance/universal-android-debloater-next-generation repository for removing bloatware from Android devices. The project is organized as a Cargo workspace defined in the root Cargo.toml (version 1.2.0), containing three crates: uad-core for ADB communication logic, uad-gui for the Iced-based graphical interface, and uad-cli for command-line operations. This guide focuses on installing the lightweight CLI variant, which provides full debloating capabilities without GUI dependencies.

Prerequisites

Before installing UAD-ng, ensure your system meets the following requirements:

  • Rust toolchain – Required only for building from source. Install via rustup.rs to obtain cargo.
  • Android Debug Bridge (ADB) – Must be installed and accessible in your PATH. Verify by running adb version.
  • USB debugging enabled – Your Android device must have USB debugging activated and be authorized for ADB connections.

Installation Methods

You can install UAD-ng either by building from source or using pre-compiled binaries.

Build from Source

Building from source ensures you have the latest commits from the main branch. The CLI binary (uad) is the recommended target because it lacks heavyweight GUI dependencies and works across all platforms with a Rust toolchain.

  1. Clone the repository:
git clone https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation.git
cd universal-android-debloater-next-generation
  1. Build the uad-cli crate in release mode:
cargo build --release -p uad-cli
  1. The compiled binary is placed at target/release/uad. Copy it to a directory in your PATH:
sudo cp target/release/uad /usr/local/bin/

Install Pre-built Binaries

For users who prefer not to compile, the repository's Releases page provides pre-built binaries for Windows, macOS, and Linux.

  1. Download the appropriate archive for your operating system from the Releases page.
  2. Extract the archive to reveal the uad executable.
  3. Move the binary to a location in your PATH (e.g., /usr/local/bin on Linux/macOS or C:\Tools on Windows).

Verification

Confirm the installation succeeded by checking the version:

uad --version

This should output the current version (e.g., v1.2.0) as defined in the workspace Cargo.toml.

Basic Usage

Once installed, verify ADB connectivity and explore the tool's functionality:


# List connected devices

uad devices

# List all packages on the first device (safe dry-run)

uad list --dry-run

Typical workflow for debloating:


# Show packages recommended for removal (Google list)

uad list --removal recommended --list google

# Perform a dry-run first

uad uninstall com.google.android.gms com.google.android.apps.maps --dry-run

# If the plan looks good, actually uninstall

uad uninstall com.google.android.gms com.google.android.apps.maps

The uad-cli crate leverages the uad-core library to fetch remote package definitions from src/core/uad_lists.rs and check for updates via src/core/update.rs, ensuring you always have the latest debloat lists without manual intervention.

Summary

  • Universal Android Debloater Next Generation is a Rust workspace with three crates: uad-core, uad-cli, and uad-gui.
  • Install via source using cargo build --release -p uad-cli to produce the target/release/uad binary.
  • Install via binaries by downloading from the GitHub Releases page and adding to PATH.
  • Prerequisites include Rust (for source builds), ADB in PATH, and an authorized Android device.
  • The CLI tool provides dry-run capabilities (--dry-run) to preview changes before uninstalling packages.

Frequently Asked Questions

Do I need to install Rust to use UAD-ng?

No, if you download the pre-built binaries from the Releases page. Rust is only required when building from source using cargo build --release -p uad-cli. The pre-compiled executables work independently of the Rust toolchain.

What is the difference between uad-cli and uad-gui?

uad-cli is the command-line interface crate located in crates/uad-cli/ that provides script-friendly operations without GUI dependencies. uad-gui uses the Iced library to render a graphical interface but requires more system resources. Both rely on the uad-core crate for ADB communication and package parsing logic.

Where does UAD-ng store its package removal lists?

The application fetches remote package definitions at runtime. According to the source code in src/core/uad_lists.rs, the tool downloads and parses uad_lists.json to determine which packages are safe to remove, recommended for removal, or device-specific bloatware.

Why does the installation require ADB to be in PATH?

UAD-ng communicates with Android devices exclusively through the Android Debug Bridge protocol. The uad-core crate invokes ADB commands to list packages, execute uninstall operations, and manage device state. Without ADB accessible in your system PATH, the uad binary cannot establish connections to devices.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →