What the "device not found" error means
The adb devices command returns a list of connected gadgets with the status device or offline, but in your case, the console outputs exactly device not found. This technical message means that the Android Debug Bridge daemon did not receive a hardware response from the connected phone, tablet, or emulator.
The error occurs immediately when starting debugging in Android Studio, executing commands via the terminal, or attempting to install an APK through adb install. The system sees the physical connection but cannot establish a secure data exchange channel for development.
Common Causes
- Inadequate cable. Many cheap cables support only charging and lack the data transmission lines required for ADB.
- Incorrect USB mode. By default, Android connects in "Charging" mode. For debugging, the
MTPorPTPprotocol is required. - Process conflict. Third-party software (Samsung Smart Switch, HiSuite, antiviruses with USB control) intercepts port 5037, preventing the
adb serverfrom initializing the connection. - Missing vendor drivers. Windows often loads the standard
MTP Driver, which does not support debugging commands. - OS-level blocking (Linux). Without proper
udevrules, the system grants the devicerootpermissions only to the superuser, and a regular user cannot access/dev/bus/usb/.
Solutions
Solution 1: Basic Connection and USB Mode Check
Start with the physical layer. Disconnect the cable and connect the device to a different port on your PC, or use an original adapter. A "USB charging" notification will appear on your smartphone screen. Tap it and select File Transfer / Android Auto or Photo Transfer (PTP).
After changing the mode, confirm the "Allow USB debugging?" dialog on the phone screen. If the prompt does not appear, go to Settings → System → Developer options and forcibly disable, then re-enable the "USB debugging" toggle.
Solution 2: Force Restart the ADB Daemon
A stuck server process is often the cause of no response. Stop it and restart it via the terminal:
adb kill-server
adb start-server
The kill-server command completely clears the connection queue, and start-server initializes a clean session. Wait 5 seconds, reconnect the cable, and run adb devices. If the status changes to device, the problem is solved.
💡 Tip: If the command requires superuser privileges, add
sudoat the beginning on Linux/macOS or run the terminal as an administrator on Windows.
Solution 3: Manual Google USB Driver Installation (Windows)
Windows automatic updates often ignore specific debugging interfaces. Download the "USB Driver Package" via SDK Manager (Tools → SDK Tools → Google USB Driver).
- Open
Device Manager. - Find the "Portable Devices" or "Other devices" section with a yellow exclamation mark.
- Right-click → Update driver → Browse my computer for drivers → Let me pick from a list of available drivers.
- Click Have Disk..., specify the path:
%LOCALAPPDATA%\Android\Sdk\extras\google\usb_driver. - Select
Android ADB Interfacefrom the list and complete the installation. Reconnect the phone.
Solution 4: Configuring udev Access Rules (Linux)
On Linux, Android devices require explicit permission to work without sudo. Create a configuration file:
sudo nano /etc/udev/rules.d/51-android.rules
Add a line for your vendor (example for Pixel/Google 18d1):
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
Save the file, add the current user to the plugdev group, and apply the changes:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
After this, disconnect and reconnect the device.
Prevention
To prevent the error from recurring, use only cables marked Data or original accessories from the manufacturer. Disable the "USB debugging" option in Developer options for public USB ports—this prevents accidental conflicts with malware. Regularly update the platform-tools package via Android Studio, as older versions often lose compatibility with newer Android versions and USB 3.x protocols.