Skip to content
Ricardo Fernández Serrata edited this page Aug 10, 2025 · 4 revisions

Intro

This app is simpler than ADB, but it's quite powerful. Here you'll learn how to make the most of it, while following best-practices!

At the top of the window, you should see (left to right):

  1. Reboot: This reboots the currently-selected device (if any is detected). Useful for testing significant changes to an Android, or to fix a minor issue after disabling a package. ⚠️ WARNING: There is no confirmation prompt! Any open activities will lose their data.
  2. 🗘: "Refresh apps". It does these:
    • triggers a reload of the devices-list, app-list, etc... by requesting data from ADB.
    • clears the search-box and filters.
    • tries to update the cached uad_lists.json file.
  3. Device picker: This is a combo-box that lists authorized devices. You won't see an Android if it hasn't allowed ADB connections.
  4. Version: UADNG app version numbers.
  5. "Apps": The apps view (explained later)
  6. "About": The "about" view (explained later)
  7. "⚙": The settings view (explained later)

You can think of view-switching buttons as "tabs" if you like.

Apps view

This is the "home-page" of the UADNG app, as it provides all of the frequently-used features. You should see (from left to right, top to bottom):

  1. "Select all" check-box
  2. Search bar. As of now, the search-engine is extremely bare-bones. It just finds packages where the ID (name) contains the query as an identical (case-sensitive and continuous) sub-string. In the next release, it'll search descriptions as well!
  3. Filters:
    1. user/profile (enumerated by the Android)
    2. removal-level (from uad_lists.json)
    3. state (reported by the Android)
    4. vendor/source/developer "list" (from uad_lists.json)
  4. The actual package list. Clicking a pack will display its description below.
  5. Description box. This info comes from uad_lists.json
  6. "Export current selection" button. This will write the names of the packs, 1 per line, to selection_export.txt, in the same directory where the program file is located.
  7. "Review selection" button. This prompts you before changing the states of multiple packs.

The app/pack list only shows packages reported as "system", not "third-party" by the Android device (we have no control over these categories). This was an intentional design choice, but it might change in the future.

About view

Here you'll find meta-data about the UADNG app itself, update buttons, ADB version, and buttons that open URLs in your default browser (for remote stuff) or file-manager (for local stuff, such as the log-file)

Settings

This view is for controlling/configuring the behavior of UADNG, including the color-scheme (theme). You can also edit the config file directly (it's just TOML text), if you know the expected format.

The "Auto" theme detects your desktop color-scheme (light or dark) when UADNG starts. It's not "live", and it doesn't sync when you select it, so you have to re-open UADNG to ensure the theme is synced. This is intentional behavior, unfortunately. We'll try to improve this in the future.

"General" settings are "global", they apply to UADNG, not a specific device or app. "Device" settings apply on a per-device basis.

You'll also find the "Snapshot" (shown as "Backup / Restore") feature here. It makes UAD create files that remember the package-states in a file, which you can later use to apply those states again. This is quite helpful after factory-resets, or major OEM upgrades.

Misc

UAD (legacy) and UAD-NG don't run the adb kill-server command when you close the app. This is intentional, as the app doesn't know if something else (such as the human user, or another program) is using ADB. If you want to free-up some RAM, you should run that cmd after you close the app. Don't worry about CPU, ADB is light-weight!

Clone this wiki locally