我使用的是 Ubuntu 20.10,并且在创建 flutter 应用程序时安装了 scrcpy 来镜像我的手机屏幕,但是当我打开 Vs code 时,scrcpy 会关闭并显示此错误:: adb 服务器版本 (41) 与此客户端 (39) 不匹配;杀戮...
这个错误是adb版本之间的冲突 https://github.com/Genymobile/scrcpy/blob/master/FAQ.md#conflicts- Between-adb-versions
解决方案已设置ADBenv是Android Sdk平台工具adb的路径
/home//Android/Sdk/platform-tools/adb
在 Linux 中,你可以
export ADB=/path/to/your/adb
在赢,
set ADB=/path/to/your/adb
在 Flutter App 开发过程中,我在 Android Studio 中也发生了同样的事情。 所以我在Ubuntu 20.04上运行Android Studio的解决方案如下:
解决方案:
请执行以下步骤:
如果您安装了“Android SDK Platform tools”,请从“Android Studio --> Tools --> SDK Manager --> SDK Tools(Tab)”卸载它
现在,请从“SDK 工具(选项卡)”下的列表中标记“Android SDK 平台工具”。 “SDK Tools(Tab)”的路径为“Android Studio --> Tools --> SDK Manager --> SDK Tools(Tab)”。之后,按“确定”按钮进行安装。
然后,从终端输入以下命令来检查“Android --> Sdk --> platform-tools”下是否存在“adb”文件
“cd /home//Android/Sdk/platform-tools/ && ls”
“sudo rm /usr/bin/adb && sudo cp /home//Android/Sdk/platform-tools/adb /usr/bin/”
“杀死 adb-server && 启动 adb-server”
“adb 版本 && adb 设备”
好的,我最近找到了这个问题的解决方案。由于 2 个 adb 不可能同时工作,因此您应该使用其中之一。要实现这一点:
如果您使用的是 Ubuntu,请尝试此操作,打开您的终端:
ctrl + alt + t
首先检查你的platform-tools目录中是否有adb。
首先输入此命令进行检查:
cd /home/change-this-to-your-username/Android/Sdk/platform-tools/
ls
您应该会在终端中看到adb。
如果是,请先不要关闭您的终端,然后打开另一个终端:
ctrl + alt + t
输入命令:
cd /usr/bin
- 将目录更改为 usr/bin
sudo rm adb
- 这将删除 adb
现在返回到之前的终端。
输入命令:
sudo cp adb /usr/bin
- 这会将现有的 adb 从 platform-tools 目录复制到 usr/bin ,您在其中删除了另一个版本的 adb。
现在如果你跑步:
scrcpy
终端将显示一条日志,表明您没有安装 adb。
返回终端并运行:
vim .bashrc
如果你的机器上没有安装 vim,请输入:
sudo apt install vim
按键盘上的“i”键插入路径:
export ADB='/usr/bin/adb'
ctrl + shift + v
将其粘贴到终端
按键盘上的“esc”键并输入冒号
:
或 shift + ;
输入 x 并按“enter”键保存。
奔跑:
scrcpy
由于您使用的是 Linux,因此可以采用 adb 路径:
1。首先获取你的adb路径。
示例:/home/Your-User/Android/Sdk/platform-tools/adb
2。其次打开终端或终端模拟器并粘贴示例中的行以编辑 .bashrc 文件。
示例:
code ~/.bashrc
在行尾添加:
export ADB=/home/Your-User/Android/Sdk/platform-tools/adb
保存更改并返回终端,然后使用以下命令刷新 shell:
source ~/.bashrc
或 关闭终端并重新打开它。
3。重新启动终端时必须始终运行此命令。
无需第3步。 注意:adb 必须跟在
platform-tools/
之后
我找到了解决此问题的简单方法,只需使用 scrcpy.adb 而不是 adb 连接手机 tcpip。
示例: 在 VSCODE 中连接 adb 进行调试时,通常在终端中运行
第一步: 注意:此命令在通过良好的 USB 连接并启用 USB 调试和无线调试后运行。
adb tcpip 5555
步骤2:
adb connect <ip address>
usage:
adb connect 103.20.440.22
// 将这些数字替换为您手机的 IP 地址。在 Android 13 上的设置/关于手机/中找到。
当您特别想仅使用 scrcpy 时。
步骤1:
scrcpy.adb tcpip 5555
步骤2:
scrcpy.adb connect <ip address>
usage:
scrcpy.adb connect 103.20.440.22
// 将这些数字替换为您手机的 IP 地址。在 Android 13 上的设置/关于手机/中找到。
仅此而已,关键是将 scrcpy.adb 用于 adb 目的,而 adb 仅用于 vscode 调试。