How to Connect Android Phone to Flutter

Android phone connected to a Flutter development environment

Running a Flutter app on a physical Android phone is one of the best ways to find problems that an emulator may not reveal. A real device lets you test USB permissions, storage, cameras, notifications, network behavior, keyboard input, screen size, and actual performance.

Flutter discovers Android phones through Android Debug Bridge, usually called ADB. The connection must therefore work in this order: Windows detects the phone, ADB authorizes it, Flutter lists it, and then your project runs on it. This guide shows both USB and wireless methods and explains what each connection status means.

What You Need Before Connecting the Phone

  • A working Flutter SDK and Android toolchain.
  • Android SDK Platform-Tools, which provides ADB.
  • A USB cable that supports data, not charging only.
  • An unlocked Android phone with Developer Options available.
  • A trusted Windows computer.

Check the development environment first:

flutter doctor -v
flutter --version
adb version

If Flutter or ADB is not recognized, complete the steps in How to Install Flutter on Windows 11 before troubleshooting the phone.

Step 1: Enable Developer Options

Open the phone's Settings app and find the software or build information. Tap Build number repeatedly until Android confirms that Developer Options are enabled. The exact menu name varies between Pixel, Samsung, Xiaomi, Oppo, and other manufacturers.

Return to Settings, open Developer Options, and enable USB debugging. If you need device-specific menu guidance, see How to Enable Developer Options on Android 16.

Only enable debugging on a phone you control. A computer authorized through ADB receives development-level access while debugging is active.

Step 2: Connect with a Known-Good Data Cable

Unlock the phone and connect it directly to the computer. Avoid a USB hub while setting up the connection. If Android displays a USB mode notification, keep the phone unlocked. Switching temporarily to File transfer can help Windows rediscover the device, although file-transfer mode and ADB debugging are separate functions.

The phone should display an authorization dialog containing the computer's RSA key fingerprint. Confirm that you trust the computer, optionally select Always allow from this computer on your own PC, and tap Allow.

If the authorization dialog never appears, disconnect and reconnect the cable after USB debugging is enabled. You can also use Revoke USB debugging authorizations in Developer Options, then reconnect to request a fresh authorization.

Step 3: Verify the Phone with ADB

Open PowerShell and run:

adb devices -l

A healthy connection looks similar to this:

List of devices attached
R58M123ABC  device product:device_name model:Android_Phone transport_id:1

The word after the device ID tells you what to fix:

  • device — ADB is authorized and ready.
  • unauthorized — unlock the phone and approve the RSA fingerprint dialog.
  • offline — restart ADB, reconnect the cable, and review existing authorizations.
  • no device listed — investigate the cable, USB port, Windows driver, or phone USB settings.

To restart the ADB server:

adb kill-server
adb start-server
adb devices -l

Step 4: Verify the Phone with Flutter

Once ADB reports device, run:

flutter devices

The output should include the phone and identify its platform as Android. If Flutter lists Windows, Chrome, an emulator, and your phone, copy the Android device ID so you can target it directly.

flutter run -d DEVICE_ID

Run this command from the root of a Flutter project—the directory containing pubspec.yaml. The first Android build may take longer because Gradle needs to resolve and compile dependencies.

Fix a Phone That Appears in Windows but Not in ADB

A phone visible in File Explorer is not automatically ready for Flutter. Windows file transfer normally uses MTP, while Flutter depends on ADB. Check these items in order:

  1. Confirm that USB debugging is enabled.
  2. Unlock the phone and look for the RSA authorization prompt.
  3. Try a different data cable and a different USB port.
  4. Connect directly instead of through a hub or dock.
  5. Update Android SDK Platform-Tools in Android Studio's SDK Manager.
  6. Install the correct Windows USB driver for the phone manufacturer if required.
  7. Open Android Studio and select Tools > Troubleshoot Device Connections.

Google devices can use the Google USB Driver available through Android Studio. Other manufacturers may require their own OEM driver. If Windows Device Manager reports an unknown device or Code 43, follow How to Fix USB Code 43 on Android.

Fix the ADB Unauthorized Status

If adb devices shows unauthorized, the computer and phone have not completed the trust handshake. Try this sequence:

  1. Keep the phone unlocked.
  2. Disconnect the USB cable.
  3. Open Developer Options and select Revoke USB debugging authorizations.
  4. Turn USB debugging off and on again.
  5. Reconnect the cable and accept the new RSA fingerprint prompt.
  6. Run adb devices -l again.

Do not approve fingerprints on a public or shared computer. Remove old authorizations when you no longer use a development machine.

Connect Flutter to Android over Wi-Fi

Modern wireless debugging is supported on Android 11 and later. The phone and workstation should be on the same trusted Wi-Fi network, and Android SDK Platform-Tools should be up to date.

On the phone, open Developer Options > Wireless debugging and choose Pair device with pairing code. Android displays an IP address, a pairing port, and a temporary code.

adb pair PHONE_IP:PAIRING_PORT

Enter the pairing code when requested. If the phone does not connect automatically after pairing, use the separate IP address and debugging port shown on the Wireless debugging screen:

adb connect PHONE_IP:DEBUG_PORT
adb devices -l
flutter devices

The pairing port and connection port can be different, so copy the values currently displayed by Android. Guest, hotel, corporate, or isolated Wi-Fi networks may block device-to-device communication. For a more detailed workflow, read How to Debug Android Phone Using Wi-Fi.

Choose the Correct Flutter Target

Flutter can list several targets at the same time. Use the device ID instead of relying on the first item:

flutter devices
flutter run -d DEVICE_ID

If more than one ADB device or emulator is connected, an ADB command can also be targeted explicitly:

adb -s DEVICE_ID shell getprop ro.product.model

This prints the model name of the selected Android target and helps prevent commands from running on the wrong device.

Final Connection Checklist

  • flutter doctor -v reports a usable Android toolchain.
  • The cable supports data and is connected directly.
  • Developer Options and USB debugging are enabled.
  • The RSA fingerprint has been approved on the unlocked phone.
  • adb devices -l reports device.
  • flutter devices lists the phone as Android.
  • flutter run -d DEVICE_ID launches the project on the intended phone.
  • Wireless debugging is used only on a trusted network.

After the connection works, continue with the complete Flutter Android App Development Guide for project structure, testing, performance, and release preparation.

Official References

Android menus and connection behavior vary by manufacturer and software version. This guide was reviewed against the official Flutter and Android documentation available in August 2026.

Daddy Izz

Daddy Izz is the creator of Izz.co.in, an independent technology blog focused on Android, Windows, AI tools, app development, Blogger and practical tech solutions. I enjoy experimenting with apps, software and new technologies, then turning what I learn into simple, easy-to-follow guides.

Post a Comment

Previous Post Next Post