报错 /bin/sh: .../scrcpy-server: cannot execute binary file

/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):

      bash 复制代码
      arch -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-serverscrcpy 的一部分,可以尝试直接运行 scrcpy

bash 复制代码
scrcpy

如果未安装,使用 Homebrew 安装:

bash 复制代码
brew install scrcpy

总结

  1. 检查权限chmod +x
  2. 检查架构file 命令
  3. 重新下载 → 确保文件完整
  4. 检查依赖adb 是否安装
  5. 检查路径 → 确保文件存在
  6. 直接运行 scrcpy → 避免手动调用 scrcpy-server

如果问题仍然存在,请提供:

  • 你的 Mac 型号(Intel/Apple Silicon)
  • file /path/to/scrcpy-server 的输出
  • uname -m 的输出(查看系统架构)
相关推荐
光影少年4 分钟前
rn如何和原生进行通信,是单线程还是多线程,通信方式都有哪些
前端·react native·react.js·taro
好大哥呀23 分钟前
Java Web的学习路径
java·前端·学习
HashTang31 分钟前
【AI 编程实战】第 7 篇:登录流程设计 - 多场景、多步骤的优雅实现
前端·uni-app·ai编程
cos1 小时前
Fork 主题如何更新?基于 Ink 构建主题更新 CLI 工具
前端·javascript·git
小满zs1 小时前
Next.js第二十一章(环境变量)
前端·next.js
C***11501 小时前
Spring aop 五种通知类型
java·前端·spring
朝阳392 小时前
前端项目的【package-lock.json】详解
前端
摸鱼的春哥2 小时前
AI编排实战:用 n8n + DeepSeek + Groq 打造全自动视频洗稿流水线
前端·javascript·后端
nece0013 小时前
vue3杂记
前端·vue