1.报错信息
A problem occurred starting process 'command '/usr/local/bin/cmake''
Could not start '/usr/local/bin/cmake'
Cannot run program "/usr/local/bin/cmake" (in directory "/Users/lin/Documents/xiaozhi/xiaozhi-android-client"): error=0, Failed to exec spawn helper: pid: 86702, exit value: 1
error=0, Failed to exec spawn helper: pid: 86702, exit value: 1
2.解决方法
参考链接:
Andriod Studio不支持项目指定的Gradle插件版本_the project is using an incompatible version (agp -优快云博客
这个错误通常表示 Gradle 在尝试执行 CMake
时遇到了权限或环境配置问题。以下是逐步排查和解决的方案:
1. 确认 CMake 是否正确安装
-
检查 CMake 是否存在:
# 查看 CMake 是否在指定路径 ls -l /usr/local/bin/cmake # 查看 CMake 版本(如果已安装) cmake --version
- 如果命令未找到或路径错误,需重新安装 CMake。
-
安装/更新 CMake:
- macOS (推荐使用 Homebrew)
brew install cmake # 或更新 brew upgrade cmake
- 其他系统:
从官网下载安装:https://cmake.org/download/
- macOS (推荐使用 Homebrew)
2. 检查文件权限
-
确保
/usr/local/bin/cmake
有可执行权限:sudo chmod +x /usr/local/bin/cmake
-
修复 Homebrew 权限(如果是通过 Homebrew 安装的):
sudo chown -R $(whoami) /usr/local/*
3. 处理 macOS 安全限制
-
解除 Gatekeeper 限制:
macOS 可能阻止了从非官方来源安装的 CMake:sudo xattr -rd com.apple.quarantine /usr/local/bin/cmake
-
重启终端或 IDE:
确保环境变量更新生效。
4. 检查 Gradle 配置
-
确认项目使用的 CMake 版本:
在app/build.gradle
中检查cmake
配置:android { externalNativeBuild { cmake { path "CMakeLists.txt" version "3.22.1" // 确保与已安装版本一致 } } }
-
清理 Gradle 缓存:
./gradlew clean rm -rf ~/.gradle/caches/
5. 处理 NDK 或项目文件问题
-
重新生成 NDK 文件:
rm -rf app/.cxx ./gradlew :app:externalNativeBuildDebug
-
检查 NDK 安装:
- 在 Android Studio 中确认 NDK 已安装:
Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools,勾选 NDK (Side by side)。 - 如果使用本地 NDK,检查
local.properties
中的路径:ndk.dir=/Users/lin/Library/Android/sdk/ndk/25.1.8937393
- 在 Android Studio 中确认 NDK 已安装:
6. 检查系统环境变量
-
确认
PATH
包含 CMake 路径:echo $PATH # 应包含 /usr/local/bin
-
临时修复环境变量:
export PATH="/usr/local/bin:$PATH"
7. 终极解决方案
- 卸载并重装 CMake:
brew uninstall cmake brew install cmake
- 在 Android Studio 中重新配置 CMake:
- File > Sync Project with Gradle Files
- File > Invalidate Caches / Restart
8.错误日志分析
-
关键错误:
Cannot run program "/usr/local/bin/cmake": error=0, Failed to exec spawn helper
-
可能原因:
- 文件权限不足。
- CMake 安装不完整。
- macOS 安全策略阻止执行。
9.java的版本问题
切换对应项目版本即可