Guide · Tooling
Fixing "adb device not found" and "unauthorized"
You plug in a phone to test on real hardware, and either Android Studio can't see it, or adb devices lists it as unauthorized or offline. It's one of those problems with a dozen small causes and no single error message, so the fastest route is a checklist. Here's the order I run through, from most common to least.
The short version: run adb devices and read the status. Blank means it's not connecting at all (USB debugging, cable, driver). "unauthorized" means it's connecting but you haven't tapped Allow on the phone's prompt. "offline" usually clears with an adb server restart.
Start here: what does adb see?
adb devices
The output tells you which branch you're on:
- Empty list → the device isn't connecting. Go to "Not showing up at all".
- Serial +
unauthorized→ it's connected but not trusted yet. Go to "Unauthorized". - Serial +
offline→ connected but not responding. Go to "Offline".
"Unauthorized" — the quick one
This means the connection works and the phone is waiting for your permission. On the device, a dialog reads Allow USB debugging? — tap Allow (and check "always allow from this computer"). If you don't see the dialog:
- Unlock the phone and unplug/replug — the prompt only appears on an unlocked screen.
- Still nothing? Revoke old authorizations and let it ask again: Settings → Developer options → Revoke USB debugging authorizations, then reconnect.
Not showing up at all
1. Enable USB debugging
It lives in Developer options, which are hidden by default. Turn them on: Settings → About phone → tap "Build number" seven times. Then Settings → Developer options → USB debugging → on. No USB debugging, no adb — this is the number-one cause.
2. Set the USB mode
When you plug in, the phone may default to "charging only". Pull down the notification for the USB connection and choose File transfer (MTP) or a data mode. Charging-only carries no data, so adb can't talk to it.
3. Suspect the cable
This one wastes hours. Many cheap or bundled cables are charge-only — physically missing the data wires. If the phone charges but never appears, try a different cable you know carries data before touching anything else.
4. Windows: install the driver
On Windows, the OS needs a USB driver for your device. Install the Google USB Driver via the SDK Manager (or the manufacturer's driver), then check Device Manager for a warning icon on the phone. macOS and Linux generally need no driver.
"Offline" — restart the server
An "offline" device usually means the adb server got into a bad state. Restart it:
adb kill-server adb start-server adb devices
This also helps when a device that worked a minute ago suddenly stops, or when another program grabbed the adb port. It's the first thing to try for almost any flaky adb behavior.
Still stuck? A few more levers
- Try a different USB port — a direct port on the machine, not a hub, and USB-A vs USB-C can matter.
- Toggle USB debugging off and on, or reboot the phone — clears a surprising number of stuck states.
- Close conflicting tools — another adb instance (a second Studio, scrcpy, a vendor tool) can hold the connection. Kill the server after closing them.
- Check the version with
adb versionand update platform-tools if it's old, especially against a newer phone.
Ninety percent of the time it's one of three things: USB debugging is off, the cable is charge-only, or you haven't tapped "Allow" on the phone. Check those first before diving into drivers and ports.