Android项目因CMake含dirty标记无法构建,求解决方案
解决CMake 3.18.1版本Gradle同步错误方案
错误信息
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > Invalid revision: 3.18.1-g262b901-dirty * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
已尝试无效操作
- 重新安装CMake 3.18.1版本
- 清理项目缓存
必须保留CMake 3.18.1版本,以下是针对性解决步骤:
1. 排查CMake安装目录的版本标记
错误中的-dirty后缀表示当前CMake安装目录的源码存在未提交修改,导致版本字符串异常:
- 找到Android Studio SDK下的CMake路径(通常为
SDK安装目录/cmake/3.18.1) - 打开目录内的
version.txt文件,确认是否包含-dirty后缀 - 若存在该后缀,删除整个
3.18.1目录,通过Android Studio的SDK Manager重新安装CMake 3.18.1(禁止手动修改目录内文件或解压第三方包)
2. 强制指定CMake绝对路径
在项目根目录的local.properties文件中添加CMake的完整安装路径,避免Gradle自动检测异常版本:
cmake.dir=/你的SDK路径/cmake/3.18.1
替换为本地实际路径后,重新同步项目。
3. 修正build.gradle中的CMake版本配置
确保app模块的build.gradle中仅指定纯版本号,不带额外后缀:
android { ... externalNativeBuild { cmake { version "3.18.1" } } }
4. 彻底清理缓存
- 删除项目根目录下的
.gradle、build文件夹 - 删除用户目录下的
.gradle/caches目录(Windows:C:\Users\<用户名>\.gradle\caches;Mac:~/Library/Caches/gradle) - 重启Android Studio,执行
File -> Invalidate Caches... -> Invalidate and Restart
5. 排除系统CMake环境干扰
若系统中安装了独立CMake,可能覆盖Android Studio内置版本:
- 临时移除系统环境变量中的CMake路径
- 重启Android Studio后重新同步项目
内容的提问来源于stack exchange,提问作者user1506104
相关产品推荐
相关产品推荐

