scrcpy --turn-screen-off报错
scrcpy --turn-screen-off报错
scrcpy --turn-screen-off 提供了一种便捷的方式来关闭 Android 设备屏幕,同时保持对其的完全控制。这对于希望减少电池消耗或避免屏幕显示的场景非常有用
在某些情况下,如果你的应用或游戏要求屏幕必须亮着才能正常工作,那么使用 --turn-screen-off 可能会导致这些应用无法正常响应输入。
CANNOT LINK EXECUTABLE "ffmpeg": cannot find "libtheoraenc.so" from verneed[3] in DT_NEEDED list for "/data/data/com.termux/files/usr/lib/libavcodec.so.61.19.101" Failed to run the 'ffmpeg' command.
Setting up ffmpeg (7.1.1-4) ...
CANNOT LINK EXECUTABLE "ffmpeg": cannot locate symbol "x265_api_get_215" referenced by "/data/data/com.termux/files/usr/lib/libavcodec.so.61.19.101"...
Failed to run the 'ffmpeg' command.
To fix the 'ffmpeg' command, manually upgrade all packages by running: pkg upgrade
If upgrading packages does not fix it, then please open an issue at https://github.com/termux/termux-packages/issues
See also: https://github.com/termux/termux-packages/wiki/Termux-execution-environment#dynamic-library-linking-errors
dpkg: error processing package ffmpeg (--configure):
installed ffmpeg package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of scrcpy:
scrcpy depends on ffmpeg; however:
Package ffmpeg is not configured yet.
dpkg: error processing package scrcpy (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: ffmpeg scrcpy E: Sub-process /data/data/com.termux/files/usr/bin/dpkg returned an error code (1)
这个错误表明 Termux 中的 ffmpeg 和 scrcpy 包出现了依赖和符号链接问题。以下是完整的解决方案:
解决方案步骤
- 首先完全清理损坏的安装
pkg remove ffmpeg scrcpy -y
rm -rf $PREFIX/lib/libav* $PREFIX/lib/libx265*
- 更新所有仓库和依赖
pkg update -y && pkg upgrade -y
- 重新安装必要组件
pkg install -y x265 ffmpeg scrcpy
- 验证修复
ffmpeg -version
scrcpy --version
一般到这就可以正常执行scrcpy --turn-screen-off
如果问题仍然存在
- 手动重建符号链接
find $PREFIX/lib -name "*libav*" -delete
find $PREFIX/lib -name "*x265*" -delete
pkg install -y --reinstall ffmpeg
- 终极解决方案(重置Termux环境)
termux-reset
pkg update && pkg upgrade
pkg install ffmpeg scrcpy
关键说明
错误原因:
- x265编解码器库版本不匹配
- Termux环境变量损坏
- 部分安装文件不完整
预防措施:
# 定期维护命令 pkg clean pkg autoclean pkg upgrade替代方案:
# 如果仍然失败,使用静态编译版本 pkg install static-ffmpeg
完整修复脚本
#!/data/data/com.termux/files/usr/bin/bash
echo "[1/5] 清理旧安装..."
pkg remove ffmpeg scrcpy -y
rm -rf $PREFIX/lib/libav* $PREFIX/lib/libx265*
echo "[2/5] 更新仓库..."
pkg update -y && pkg upgrade -y
echo "[3/5] 安装依赖..."
pkg install -y x265 ffmpeg scrcpy
echo "[4/5] 验证修复..."
if ! ffmpeg -version; then
echo "检测到ffmpeg仍存在问题,执行深度修复..."
find $PREFIX/lib -name "*libav*" -delete
find $PREFIX/lib -name "*x265*" -delete
pkg install -y --reinstall ffmpeg
fi
echo "[5/5] 最终检查..."
scrcpy --version || {
echo "修复失败,建议执行:"
echo "termux-reset"
exit 1
}
echo "所有问题已成功解决!"
注意事项
- 执行过程中保持网络连接稳定
- 如果使用VPN,建议关闭
- 在WiFi环境下操作(避免移动数据中断)
- 整个过程可能需要5-10分钟
如果按照以上步骤操作后问题仍然存在,可能是Termux的镜像源问题,可以尝试:
termux-change-repo
然后选择 Mirrors by Grimler 或 BFSU Mirror (中国用户)