Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ADB can remove ordinary apps, preinstalled bloatware, and system-app updates without rooting the phone. The important distinction is that a normal app can be uninstalled, while a factory-installed app is usually removed only for a specific Android user. Its APK remains in the system image and can be restored later.

This guide covers Windows, macOS, Linux, USB ADB, wireless ADB, package-name discovery, safe removal, restoration, and the errors you are most likely to encounter.

What you can and cannot uninstall with ADB

App type Command What happens
Normally installed app adb uninstall PACKAGE_NAME Removes the app in the normal way.
Preinstalled system or carrier app adb shell pm uninstall --user 0 PACKAGE_NAME Removes the app from user 0, but does not erase the factory APK.
App you want to hide temporarily adb shell pm disable-user --user 0 PACKAGE_NAME Disables the package without uninstalling it.
Updated system app adb shell cmd package uninstall-system-updates PACKAGE_NAME Removes the installed update and falls back to the system version.

In this article, --user 0 means Android’s primary user. It does not mean “delete this app from every partition” or “remove it for every user and work profile.” A factory-installed package can remain known to Android and can usually be restored.

1. Install Android Platform-Tools

ADB is included in Google’s Android SDK Platform-Tools. Download the current release for your operating system and extract the archive. The extracted folder is normally named platform-tools.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
CONMDEX Android Auto USB Cable [3ft, 2-Pack] 10Gbps, 3A Fast Charging
  • [Reliable Car Connectivity & Android Auto] Engineered specifically to solve "falling short" connection issues in vehicles. This cable provides a stable, high-speed link for Android Auto and Apple CarPlay, ensuring consistent navigation and music streaming in models like the Ford Raptor and other modern consoles
  • [True 10Gbps Ultra-Fast Data Sync] Eliminate data transfer bottlenecks with genuine USB 3.1 Gen 2 performance. Move 4K movies or entire photo libraries in seconds at 10Gbps—speeds significantly faster than standard USB 3.0 cables that often drop to 40Mbps
  • [Built for Tidy Spaces & Durability] The 3ft length is the "perfect length" for car consoles and tidy desktop setups, eliminating excess cable clutter. Featuring an aluminum alloy case and premium nylon braiding, it is manufactured to prevent loose wires and fraying near the plugs
  • [Versatile One-for-All Functionality] A single solution for your high-speed ecosystem. Seamlessly connects the latest iPhone 18 Pro Max Duo/17/16, Samsung Galaxy S26/S25/S24 Ultra, PS5/PS4 controllers, and external SSDs to USB-A ports
  • [Charging & Compatibility Boundaries] Provides efficient 3A/18W fast charging for smartphones and tablets. Please note: This cable is optimized for mobile devices and is not intended for high-wattage laptops (65W+) or use cases requiring cables longer than 3 feet

Google recommends using the latest Platform-Tools because newer ADB versions remain backward-compatible with older Android devices. Platform-Tools 37.0.1 was released in July 2026.

Open a terminal or Command Prompt inside the extracted platform-tools directory. On Windows, you can right-click an empty area of the folder and choose Open in Terminal. On macOS or Linux, use cd, for example:

cd ~/Downloads/platform-tools

Windows PowerShell may require this form when the executable is in the current directory:

./adb.exe devices

macOS and Linux use:

./adb devices

If you add platform-tools to your system PATH, you can run adb from any directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Enable Developer options and USB debugging

  1. Open Settings and find Build number.
  2. Tap Build number seven times.
  3. Authenticate if Android asks for your PIN, password, or pattern. You should see “You are now a developer!”
  4. Return to the previous Settings screen and open Developer options.
  5. Enable USB debugging.

The exact Build number location varies by manufacturer:

Device Menu path
Google Pixel Settings → About phone → Build number
Samsung Galaxy S8 and later Settings → About phone → Software information → Build number
LG G6 and later Settings → About phone → Software info → Build number
HTC U11 and later Settings → About → Software information → More → Build number, or Settings → System → About phone → Software information → More → Build number
OnePlus 5T and later Settings → About phone → Build number

For USB debugging, Google documents these paths:

  • Android 9 and later: Settings → System → Advanced → Developer options → USB debugging
  • Android 8.0 and 8.1: Settings → System → Developer options → USB debugging
  • Android 7.1 and earlier: Settings → Developer options → USB debugging

Manufacturers sometimes rename or relocate these settings. If you cannot find them, search Settings for USB debugging or Build number.

3. Connect the phone and authorize the computer

Connect the unlocked phone with a USB data cable, then run:

adb devices

On the first connection, Android 4.2.2 and later displays an RSA authorization prompt. Keep the phone unlocked, approve the prompt, and optionally select Always allow from this computer. ADB commands will not work until the prompt is accepted.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run the command again:

adb devices

A working connection looks similar to this:

List of devices attached
R58M1234567    device

The state must be device. This state confirms that ADB is connected, although it does not necessarily mean Android has completely finished booting.

State Meaning
device ADB is connected and responding.
unauthorized The phone has not accepted this computer’s RSA key.
offline ADB sees the device, but it is not responding properly.
No device listed No usable ADB connection was detected.

4. Find the exact Android package name

ADB does not use the app’s name as shown in the launcher. You need its package identifier, such as com.example.app.

Rank #2
LDLrui USB C to USB A 3.1 Gen 2 Data Cable, 3ft, 1-Pack, Black
  • [ Excellent Performance ] This USB C 3.1 cable connects a portable external USB C 3.1 SSD to a computer for speedy file transfer or syncs and charges Samsung smartphones or tablets equipped with the USB C port. Data synchronization is 20 times faster than USB 2.0 cables (480Mbps). (Does not support video output.)
  • [ Fast Charging & High Speed Data Transfer ] This usba to usbc data power cable can sync your favourite photos, videos and music at a data transfer rate of up to 10Gbps(1250MB/s). Files can be synchronised in seconds. In addition, it can quick-charge your USB-C devices at up to 3A safe charging power. Tested charge Samsung Galaxy S22 from 0 to 60% in 30mins with Qualcomm Quick Charge 3.0 technology.Tips: USB 3.1 Gen 2 renamed to USB 3.2 Gen 2 by USB-IF in 2019.
  • [ Extreme Durability & High Quality ] : Unique ABS case with the reinforced connector withstand 10000+ bending test. Durable TPE cable not only stay tangling-free but also flexible enough to be wrapped up and put in a bag ! (PS:The connector shell is wrapped around by a piece of plastic film to protect the shell from scraching ,feel free to remove the film when you use it.)
  • [ Universal Compatibility ] This USB C to USB A Charger cable is Compatible with almost all USB-C devices. For Samsung Galaxy S24/S24+/S24 Ultra/S23/S23+/S23 Ultra/S22/S21/S20/S10/S9/Note 20/10/A70/A80/A90/A54, iPhone 16/16 Plus/16 Pro/16 Pro Max, iPhone 15/15 Plus/15 Pro/15 Pro Max, Google Pixel 9/8/7/6/5/, Moto G9/G8/G7/G Pure, LG G7/G6/V50, Sony XZ, Bose 700, GoPro, Nintendo switch, Samsung Galaxy Tab S6, iPad Pro 2018 11''/12.9", Samsung T7/T5, Crucial X8/X6, LaCie Rugged SSD, G-Drive, WD My Passport, Seagate Fast, SanDisk Extreme Portable SSD etc. (OnePlus phones are not supported.)
  • [ What You Get ] 1 X Super-Fast USB-A to USB-C 3.1 Gen 2 Cable (3 ft including both ends), our worry-free LIFETIME WARRANTY and friendly customer service. NOTE: If you have any questions, please feel free to contact us, we will be happy to serve you and give you an easy and pleasant shopping experience.

List every package visible to the package manager:

adb shell pm list packages

Useful filters include:

# System packages
adb shell pm list packages -s

# Third-party packages
adb shell pm list packages -3

# Packages known to Android but currently uninstalled for the user
adb shell pm list packages -u

# Packages for a particular Android user
adb shell pm list packages --user 0

The output includes the prefix package::

package:com.google.android.youtube
package:com.facebook.katana
package:com.carrier.bloatware

Copy only the text after package:. For example, the package name in the first line is com.google.android.youtube.

To search the list, use a command appropriate to your computer:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
# macOS/Linux
adb shell pm list packages | grep -i youtube

# Windows PowerShell
adb shell pm list packages | Select-String -Pattern youtube

Do not guess a package name from the app’s display name. A wrong identifier produces an error such as Unknown package or Failure [not installed for 0].

5. Uninstall a regular app

For an app installed normally from Google Play or an APK, run:

adb uninstall PACKAGE_NAME

Example:

adb uninstall com.example.app

The equivalent package-manager command is:

adb shell pm uninstall com.example.app

A successful operation normally returns:

Success

To remove the package while keeping its data and cache directories, add -k:

adb shell pm uninstall -k com.example.app

Keeping data can help if you plan to reinstall the app and want its local files to remain, but it does not preserve every type of account or cloud-synced data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Remove a system app or bloatware without root

For a preinstalled app, use:

adb shell pm uninstall --user 0 PACKAGE_NAME

Example:

adb shell pm uninstall --user 0 com.carrier.bloatware

To keep the user’s data and cache:

adb shell pm uninstall -k --user 0 com.carrier.bloatware

This is not a permanent deletion of the system app. It changes the installation state for user 0. The original APK may still exist in a read-only system partition, and Android can restore it after a factory reset or with the restore command below.

Removing a package for user 0 also does not remove it from another Android user or a work profile. If you intentionally need to target another user, replace 0 with that user’s ID:

adb shell pm uninstall --user USER_ID PACKAGE_NAME

Be cautious with core packages. Removing a launcher, Settings component, permission controller, system UI package, telephony component, or Google Play services dependency can cause crashes, missing menus, boot problems, or loss of essential functions. If you cannot identify what a package does, disable it first instead of uninstalling it.

7. Disable an app instead of uninstalling it

Disabling is the safer test because it leaves the package installed and makes reversal straightforward:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
SUNGUY 10Gbps Android Auto USB C Cable, 1.5FT 3A USB 3.1 Gen 2 Fast Charge & Data Transfer USB C CarPlay Cable, Compatible with iPhone 17/16/15 Pro Max, Samsung T7, Galaxy S23 S22 Ultra Note 20, SSD
  • 10Gbps Data Transfer: SUNGUY USB 3.1 Gen 2 cable supports super speed data transmission up to 10Gbps, transfer HD movies, songs, file or photos in seconds. Backwards compatible to USB 3.0 and 2.0; DOES NOT support video output.
  • Works with Android Auto: This android auto cable can quick-charge your USB-C devices at up to 3A safe charging power. 56KΩ pull-up resistor provides a safer charging current, and protects your devices from damage. Works great with your car's Android Auto.
  • Works with CarPlay: The nylon braided usb c to usb a cable compatible with iPhone 15/15Pro/15 Pro Max/15 Plus CarPlay cable. Supports connecting the iPhone 15 series to iTunes on your computer.
  • Great Compatibility: This usb c data cable is compatible with iPhone 15/15 Pro Max, Galaxy S23/S23 Ultra/S22/S22 Ultra/S21/S21+/Note 10 Plus/Note 20 S10/S10e/S10+, Pixel 5 6 7 Pro, iPad Pro 2020, MacBook, MacBook Pro, MacBook Air, LG G6 G7 V40 V35, ThinQ V30S V30, Chromebook, Dell XPS 13, Samsung T7 Shield, Extreme Portable SSD and more.
  • What You Get: You will receive 1pcs 1.5ft USB 3.1 Gen2 10Gbps Cable, with our 12-month product replacement warranty and lifetime 24/7 friendly technical support.
adb shell pm disable-user --user 0 PACKAGE_NAME

Example:

adb shell pm disable-user --user 0 com.carrier.bloatware

If the phone behaves normally, you can leave the app disabled or later remove it for user 0. To re-enable it:

adb shell pm enable PACKAGE_NAME

The package manager distinguishes between disable, disable-user, enable, and default-state. Use disable-user when your goal is specifically to disable the app for the current Android user.

8. Restore an app removed with --user 0

Because the factory APK was not erased, restore an existing system package with:

adb shell cmd package install-existing --user 0 PACKAGE_NAME

Example:

adb shell cmd package install-existing --user 0 com.carrier.bloatware

This command does not install a new APK file. It makes an existing package available to the selected user again. If you disabled the package rather than uninstalling it, use adb shell pm enable PACKAGE_NAME instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

9. Remove only a system app’s update

If a system app has received an update and you want to revert to the version included in the system image, run:

adb shell cmd package uninstall-system-updates PACKAGE_NAME

Example:

adb shell cmd package uninstall-system-updates com.google.android.youtube

This falls back to the package’s system version. It does nothing if the package is not a system app. It is different from pm uninstall --user 0: the latter changes whether the package is installed for a user, while this command removes an update from a system package.

Wireless ADB instead of USB

Android 11 and later supports pairing over Wi-Fi through Wireless debugging. Put the computer and phone on the same Wi-Fi network, then enable:

Settings → System → Developer options → Wireless debugging

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

On Wear OS 6 and later, the path is Settings → Developer options → Wireless debugging.

Choose Pair device with pairing code and run the address and port shown by the watch or phone:

Rank #4
Sale
Amazon Basics USB-A to Micro USB Charging Cable, 480Mbps Data Transfer, Gold-Plated Plugs, Compatible with Android Phones and Tablets, 10 Foot, Black
  • IN THE BOX: (1) 10-foot USB 2.0 cable with A Male to Micro B connectors
  • COMPATIBILITY: USB-A printers and hard drives; Micro-B Android phones and tablets
  • PERFORMANCE: Supports up to 480 Mbps data transmission speed; charging capability up to 2100 mA
  • USES: Ideal for charging Android phones and tablets or connecting PC peripherals such as hard drives, printers, and more
  • DURABLE DESIGN: Gold-plated connectors resist corrosion for signal purity; thin and flexible cable with compact connector head works with nearly all cases
adb pair IP_ADDRESS:PAIRING_PORT

Enter the displayed pairing code. Once paired, ADB can connect automatically when the device and computer remain on the same trusted network. If it does not connect, use the device’s displayed debugging address and port with:

adb connect DEVICE_IP_ADDRESS:PORT
adb devices

For Android 10 and earlier, the older wireless workflow requires an initial USB connection:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
adb tcpip 5555
adb connect DEVICE_IP_ADDRESS:5555
adb devices

Do not confuse this with the newer on-device Wireless debugging pairing screen; that screen is not the documented Android 10-and-earlier workflow.

Android 17 and ADB 37.0.0 introduced ADB Wi-Fi 2.0, which can automatically reconnect to a trusted wireless-debugging network. If discovery fails, inspect the ADB server:

adb server-status

The output should show a version of 37.0.0 or newer and mdns_enabled: true. You can also check mDNS service discovery:

adb mdns track-services --proto-text

An empty result indicates that the network is not providing the mDNS discovery ADB expects. Platform-Tools 37.0.1 removed the openscreen mDNS backend, so setting ADB_MDNS_OPENSCREEN does not fix discovery with that release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Fix common ADB problems

“unauthorized” appears beside the phone

  1. Unlock the phone.
  2. Accept the RSA prompt.
  3. Disconnect and reconnect the cable.
  4. In Developer options, use Revoke USB debugging authorizations, then reconnect and approve the new prompt.
  5. Run adb devices again.

ADB intentionally requires this authorization before commands can run.

The phone is not listed

  • Try a different USB cable; many cables charge but do not carry data.
  • Try another USB port and select a data-transfer USB mode on the phone if prompted.
  • On Windows, install the appropriate OEM USB ADB driver.
  • On macOS and ChromeOS, Google does not require additional USB-driver configuration.
  • On Ubuntu, install the Platform-Tools rules package:
sudo apt-get install android-sdk-platform-tools-common

Add your account to the plugdev group:

sudo usermod -aG plugdev $LOGNAME

Log out and back in before trying ADB again. Ubuntu also needs matching udev rules.

The state is “offline”

offline means ADB can see the device but cannot communicate with it properly. Restart the ADB server and reconnect:

adb kill-server
adb start-server
adb devices

Keep the phone unlocked and accept any new authorization prompt. If it remains offline, replace the cable, restart the phone, and check that USB debugging is still enabled.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
10Gbps Android Auto USB C Cable, 2FT USB 3.1 Gen2 Data Transfer & 3A Fast Charging USBA to USB C CarPlay Cable Braided Cord for iPhone 17/16/15, Galaxy S26/S25, SSD, Xbox/PS5, Tablet, Dashcam and More
  • ✅【10Gbps High-Speed Data Transfer】USB 3.1 Gen2 USB A to USB C Data Cable supports super speed data transmission up to 10Gbps, transfer HD movies, music, files or photos in seconds. Backwards compatible to USB 3.0 and 2.0. Note: Not support video output.
  • ✅【Work with Android Auto & CarPlay】This Android Auto cable is specifically engineered to solve unstable car connection issues. This data transfer cable usb to type c cable provides a stable, high-speed, and reliable link for Android Auto and Apple CarPlay, it ensures smooth navigation and music streaming in vehicles like Ford, Tesla, and other modern consoles. Supports iPhone 15/16/17 series syncing to iTunes on your computer.
  • ✅【3A Fast Charging】This usb to usb c charger cable delivers up to 3A of safe, rapid charging for your USB-C devices. Built-in 56kΩ resistor ensures stable conductivity while protecting both your devices and adapters. Ideal 2ft length usb to usbc cable – perfect for car use, reaching from your USB port to a phone mount or neatly tucking into consoles without excess cable clutter.
  • ✅【Built to Last, Ready for Action】Experience blazing 10Gbps speeds with our nylon braided Android Auto USB-C cable, wrapped in premium braided nylon, reinforced with gold-plated connectors, and armored with sturdy aluminum. Reliable, durable, and designed to keep your devices connected flawlessly—every ride, every charge.
  • ✅【Wide Compatibility】This USB-A to USB-C cable is designed to fast charge and sync a wide range of devices. Perfect for iPhone 15–17 series, Samsung Galaxy S & Note series, Google Pixel, iPad Pro, MacBook/Air/Pro, cameras, PS5/PS4 controllers, external SSDs and other USB-C devices. Durable braided design ensures reliable performance for daily use.

“Unknown package” or “not installed for 0”

List packages again and copy the exact identifier:

adb shell pm list packages -u

These errors usually mean the identifier is misspelled or the package is not installed for the user specified in the command.

The app is still visible after uninstalling it

Check whether it remains installed for another user or work profile. The command --user 0 affects only user 0. Also remember that a factory-installed package is not permanently erased; it may be restored after a reset or by using install-existing.

Safe removal checklist

  1. Confirm the phone appears as device in adb devices.
  2. Copy the package name from pm list packages rather than guessing.
  3. Search the web or the manufacturer’s documentation if you do not know what the package controls.
  4. Disable the package first with pm disable-user if it might be important.
  5. Record the exact command so you can restore the package later.
  6. Remove one package at a time and test the phone before continuing.

FAQ

Can ADB permanently remove a system app without root?

Usually no. adb shell pm uninstall --user 0 PACKAGE_NAME removes the package for user 0, but it does not delete the factory APK from the system image. The package can be restored with adb shell cmd package install-existing --user 0 PACKAGE_NAME.

What is the difference between adb uninstall and pm uninstall --user 0?

adb uninstall is the normal command for a user-installed app. The pm uninstall --user 0 form targets Android user 0 and is commonly used for preinstalled system or carrier packages.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I find an app’s package name?

Run adb shell pm list packages. The output begins with package:; copy only the identifier after that prefix. You can filter results with grep on macOS/Linux or Select-String in PowerShell.

Can I undo an ADB uninstall?

For a system package removed with --user 0, run adb shell cmd package install-existing --user 0 PACKAGE_NAME. For a regular app, reinstall it from Google Play or from its trusted APK source.

Does ADB uninstall affect work profiles?

Only if you target the relevant Android user. --user 0 applies to user 0, while another user or work profile can retain its own installation state.

Is disabling safer than uninstalling?

Yes. adb shell pm disable-user --user 0 PACKAGE_NAME leaves the package installed and can be reversed with adb shell pm enable PACKAGE_NAME.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

Use adb uninstall PACKAGE_NAME for ordinary apps. For preinstalled bloatware, use adb shell pm uninstall --user 0 PACKAGE_NAME, understanding that this removes it only for user 0 rather than permanently deleting the system copy. If you are unsure about a package, disable it first and keep a record of the restore command.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.