当 VISUAL STUDIO 代码工作时,scrcpy 不工作

问题描述 投票:0回答:6

我使用的是 Ubuntu 20.10,并且在创建 flutter 应用程序时安装了 scrcpy 来镜像我的手机屏幕,但是当我打开 Vs code 时,scrcpy 会关闭并显示此错误:: adb 服务器版本 (41) 与此客户端 (39) 不匹配;杀戮...

flutter ubuntu visual-studio-code adb emulation
6个回答
2
投票

这个错误是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

1
投票

在 Flutter App 开发过程中,我在 Android Studio 中也发生了同样的事情。 所以我在Ubuntu 20.04上运行Android Studio的解决方案如下:

解决方案:

请执行以下步骤:

  1. 如果您安装了“Android SDK Platform tools”,请从“Android Studio --> Tools --> SDK Manager --> SDK Tools(Tab)”卸载它

  2. 现在,请从“SDK 工具(选项卡)”下的列表中标记“Android SDK 平台工具”。 “SDK Tools(Tab)”的路径为“Android Studio --> Tools --> SDK Manager --> SDK Tools(Tab)”。之后,按“确定”按钮进行安装。

  3. 然后,从终端输入以下命令来检查“Android --> Sdk --> platform-tools”下是否存在“adb”文件

“cd /home//Android/Sdk/platform-tools/ && ls”

  1. 之后,请从“/usr/bin”中删除当前的adb文件,然后使用以下命令将adb文件从“/home//Android/Sdk/platform-tools/”复制到“/usr/bin”:

“sudo rm /usr/bin/adb && sudo cp /home//Android/Sdk/platform-tools/adb /usr/bin/”

  1. 最后,请使用以下命令重新启动adb服务器:

“杀死 adb-server && 启动 adb-server”

  1. 现在,请使用以下命令检查一切是否正常:

“adb 版本 && adb 设备”


0
投票

好的,我最近找到了这个问题的解决方案。由于 2 个 adb 不可能同时工作,因此您应该使用其中之一。要实现这一点:

  1. 打开vscode
  2. 在 vscode 终端 $export ADB=/home/your_username/Android/Sdk/platform-tools/adb scrcpy 运行此命令
  3. 然后也运行 $scrcpy 命令。 我希望它能起作用。不过,每次打开 vscode 时都应该执行上述步骤!

0
投票

如果您使用的是 Ubuntu,请尝试此操作,打开您的终端:

ctrl + alt + t

首先检查你的platform-tools目录中是否有adb。

首先输入此命令进行检查:

cd /home/change-this-to-your-username/Android/Sdk/platform-tools/

ls

您应该会在终端中看到adb

如果是,请先不要关闭您的终端,然后打开另一个终端:

ctrl + alt + t

输入命令:

  1. cd /usr/bin
    - 将目录更改为 usr/bin

  2. 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


0
投票

由于您使用的是 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/

之后

0
投票

我找到了解决此问题的简单方法,只需使用 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 调试。

© www.soinside.com 2019 - 2024. All rights reserved.