使用 Flutter 制作应用程序时如何通过 WiFi 将设备与 ADB 连接?

The*_*bus 11 android adb flutter

使用 Flutter 时,我无法通过 WiFi 将我的 Android 手机连接到 ADB。所有命令,如“adb devices”和“adb connect 192.168.1.1:5555”打印错误。如何解决这个问题?

小智 22

只需三个步骤:

  1. 通过 USB 连接:adb tcpip 5555。
  2. 断开 USB 连接,获取电话 IP 地址设置 > 关于电话 > 状态。
  3. 现在adb connect 192.168.0.100

  • 您应该转到“设置”>“关于手机”>“状态”并查找 IP 地址,然后运行“adb connect **您的 IP 地址**” (3认同)

Aks*_*pra 6

我使用 Visual Studio 进行 Flutter 应用程序开发,并使用小米 K20 Pro 作为我的设备

  1. 在您的手机上启用开发者选项
  2. 在开发人员选项中启用无线调试选项 在此输入图像描述
  3. adb针对您各自的操作系统(Mac/Windows/Linux)进行安装。
    对于 Mac: https: //stackoverflow.com/a/32314718
  4. 确保您的PC和手机处于同一Wifi网络
  5. 在关于手机 > 状态中查看手机的IP地址(或者如果您使用的是小米设备,开启无线调试页面可以直接看到) 在此输入图像描述
  6. 运行 adb connect <第 5 步中的 IP 地址> 例如:adb connect 192.168.0.103.
    注意:对于小米手机,您还需要在最后添加端口号,该端口号显示在启用无线调试页面上,例如:adb connect 192.168.0.103:43431

在此输入图像描述


小智 5

  1. 按下shift + command + .可使隐藏的库可见。
  2. 现在点击Go -> Library -> Android -> sdk
  3. 右键单击platform-tools,然后单击New Terminal Tab at Folder
  4. ./adb devices在终端中输入以显示所有已连接的设备。
  5. 然后输入您要连接的设备IP地址./adb connect 192.168.XXX.XXX


spa*_*ill 5

当我第一次设置颤振时,我自己也遇到过类似的问题。

我可以通过 wifi 使用 adb 轻松连接我的 android 手机,并且在 android studio 中调试本机代码完美无缺.....使用---

$ adb connect <device-ip>:5555
Run Code Online (Sandbox Code Playgroud)

但是,当我运行“颤振设备”……或“颤振运行”时……使用 adb 无线连接的现有设备会自动断开连接……

在 flutter 调试会话期间尝试连接 adb 时,我在 adb 中收到以下错误 -

ADB server did not ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 27779
--- adb starting (pid 27779) ---
adb I 07-29 02:24:57 27779 27779 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 07-29 02:24:57 27779 27779 main.cpp:57] Version 1:8.1.0+r23-5~18.04
adb I 07-29 02:24:57 27779 27779 main.cpp:57] Installed as /usr/bin/adb
adb I 07-29 02:24:57 27779 27779 main.cpp:57] 
adb I 07-29 02:24:57 27779 27779 adb_auth_host.cpp:416] adb_auth_init...
adb I 07-29 02:24:57 27779 27779 adb_auth_host.cpp:174] read_key_file '/home/<user>/.android/adbkey'...
adb I 07-29 02:24:57 27779 27779 adb_auth_host.cpp:391] adb_auth_inotify_init...
adb server killed by remote request
Run Code Online (Sandbox Code Playgroud)

在深入研究论坛和博客文章时……我在这里发现了这个问题……

似乎 Android Studio 已经在 Android/ 目录下下载并维护了自己的 adb 副本......顺便说一下,flutter 正在使用它而不是系统提供的二进制文件(Linux 中的 /usr/bin/adb)..

因此,flutter在启动自己的 adb 之前杀死了默认的 adb 服务器……并阻止其他系统二进制文件在调试会话期间运行。

一旦确定了这个问题......修复它很简单。我只是将 <android-platform-tools dir>/adb 符号链接到 /usr/bin/adb 并且一切正常......

或者,我们可以只删除两个二进制文件之一并更改所需的环境变量以实现相同的目标。