Android Studio中Ninja操作不被允许问题的排查与解决经验
解决CMake Ninja构建报错:
Ninja operation is not permitted 在CMake项目开发过程中,触发Ninja构建时反复出现如下报错:
Ninja operation is not permitted
前后花费3天排查,所有常规手段均未解决问题:
- 检查并修复Ninja二进制文件权限:
chmod +x /usr/bin/ninja - 彻底清理CMake缓存与构建目录后重新生成配置:
rm -rf build && cmake .. -G Ninja - 更新Ninja至最新稳定版本,甚至更换不同编译渠道的Ninja二进制文件
- 确认当前用户对项目目录、构建目录拥有完整读写权限,尝试切换root用户执行构建
- 排查系统磁盘空间、inode使用情况,排除资源不足导致的异常
最终通过一个非常规方法解决了问题:
我的开发环境采用VSCode Remote SSH连接远程服务器,项目目录挂载自本地SMB共享磁盘。尝试将构建目录迁移至远程服务器的本地磁盘(例如/tmp/build-my-project),重新执行CMake配置与Ninja构建后,报错直接消失。
经排查,问题根源在于SMB共享目录的权限映射存在隐藏异常,Ninja在创建临时文件、同步文件状态时触发了系统权限拦截,但报错信息过于模糊,导致初期未联想到共享存储的权限问题。
内容的提问来源于stack exchange,提问作者Mohammad Davari
相关产品推荐
相关产品推荐

