Android Studio从android-ndk-r27c升级到r29构建失败求助
解决NDK r29切换后“NDK is not installed”错误
核心原因:Gradle插件与NDK版本不兼容
你的Gradle插件(AGP)7.2.2版本兼容的NDK版本上限远低于r29。NDK r29需要至少AGP 8.2及以上版本才能适配,旧版AGP无法识别r29的目录结构和配置规范,因此抛出该错误。
解决方案
方案1:升级Gradle插件与Gradle版本
- 修改项目根目录
build.gradle中的AGP版本为8.2.0及以上:dependencies { classpath 'com.android.tools.build:gradle:8.2.0' } - 同步Gradle后,按提示升级Gradle到对应兼容版本(AGP 8.2需Gradle 8.0+)。
- 移除
local.properties中的ndkDir配置,改用AGP自动管理:在模块build.gradle中指定NDK版本:android { ndkVersion "29.0.11711670" // 对应NDK r29的完整版本号 }
方案2:降级NDK到AGP7.2.2支持的版本
若暂不升级AGP,可将NDK降级到AGP7.2.2兼容的最高版本(如NDK r25c),同时:
- 修正
local.properties中的ndkDir路径到对应版本目录 - 调整
CMAKE_C_COMPILER和CMAKE_CXX_COMPILER的完整路径(示例:C:\android-ndk-r25c\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe)
额外优化建议
- 避免手动指定编译器路径,让AGP自动关联NDK内置编译器,减少配置错误。
- 匹配CMake与AGP版本:AGP7.2.2推荐使用CMake 3.22.1,高版本CMake可能与旧AGP不兼容。
内容的提问来源于stack exchange,提问作者hterrolle




