/bin/sh: /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server: cannot execute binary file
翻译: /bin/sh:/Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/spreadcpy/spreadcpy-server:无法执行二进制文件
这个错误 /bin/sh: .../scrcpy-server: cannot execute binary file
通常表示你尝试运行的二进制文件(scrcpy-server
)与当前系统的架构不兼容,或者文件损坏/权限不足。以下是解决方案:
1. 检查文件权限
确保 scrcpy-server
有可执行权限:
bash
chmod +x /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
2. 确认文件架构是否匹配
Mac 现在分为 Intel (x86_64) 和 Apple Silicon (arm64) 两种 CPU 架构,而 scrcpy-server
可能只支持其中一种。
检查文件架构
bash
file /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
- 如果输出
x86_64
(Intel),但你的 Mac 是 M1/M2(arm64),则无法直接运行。 - 如果输出
arm64
,但你的 Mac 是 Intel,也无法运行。
解决方案
- 如果是架构问题 :
-
下载对应架构的
scrcpy-server
(如mac-arm64
版本)。 -
或使用 Rosetta 2 运行(仅适用于 Apple Silicon):
basharch -x86_64 /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
-
3. 检查文件是否损坏
如果文件损坏,重新下载 scrcpy-server
:
bash
wget https://github.com/Genymobile/scrcpy/releases/download/v2.4/scrcpy-server-v2.4 -O /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
chmod +x /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
4. 检查是否缺少依赖
scrcpy-server
可能需要 adb
(Android Debug Bridge)才能运行。确保已安装:
bash
# 检查 adb 是否安装
adb --version
# 如果没有,安装(Mac 使用 Homebrew)
brew install android-platform-tools
5. 检查文件路径是否正确
确保路径 /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
确实存在:
bash
ls -l /Users/admin/Downloads/escrcpy/electron/resources/extra/mac-x64/scrcpy/scrcpy-server
如果路径错误,修正路径或重新放置文件。
6. 尝试直接运行 scrcpy
如果 scrcpy-server
是 scrcpy
的一部分,可以尝试直接运行 scrcpy
:
bash
scrcpy
如果未安装,使用 Homebrew 安装:
bash
brew install scrcpy
总结
- 检查权限 →
chmod +x
- 检查架构 →
file
命令 - 重新下载 → 确保文件完整
- 检查依赖 →
adb
是否安装 - 检查路径 → 确保文件存在
- 直接运行
scrcpy
→ 避免手动调用scrcpy-server
如果问题仍然存在,请提供:
- 你的 Mac 型号(Intel/Apple Silicon)
file /path/to/scrcpy-server
的输出uname -m
的输出(查看系统架构)