Flutter构建应用时报NDK未安装但实际已安装的问题
构建Flutter应用抛出「NDK is not installed」错误(实际已安装NDK)的解决方法
对应常见报错为执行:app:extractReleaseNativeDebugMetadata任务时触发的NDK缺失提示,按以下步骤排查即可解决:
核对NDK实际安装路径
- 若通过Android Studio安装NDK,可打开SDK Manager,切换到SDK Tools板块,勾选「Show Package Details」,即可查看所有已安装的NDK版本与对应存储路径,常规默认路径为:
- Windows:
C:\Users\<当前用户名>\AppData\Local\Android\sdk\ndk\<版本号> - macOS/Linux:
~/Library/Android/sdk/ndk/<版本号>
- Windows:
- 若为手动下载解压的独立NDK包,直接记录解压后的绝对路径即可
配置项目级NDK关联规则
注意:这是造成「已安装但识别不到」的最高发原因,Gradle默认不会自动关联本地的NDK环境
- 打开项目路径下
android/app/build.gradle文件,在android {}代码块中补充指定NDK版本的配置,版本号与本地实际安装的版本完全一致:
android { namespace "com.example.你的项目名" compileSdk 34 // 新增配置,替换为本地已安装的NDK版本号 ndkVersion "25.2.9519653" }
- 若为独立解压安装的NDK,还需要打开项目根目录下的
local.properties文件,补充NDK的绝对路径配置:
sdk.dir=/你的本地/SDK/实际路径 ndk.dir=/你的本地/NDK/实际安装路径
修复版本不兼容导致的识别失败
部分高版本NDK与旧版本Flutter插件不兼容时,Gradle会抛出「NDK未安装」的错误:
- 匹配Flutter版本选择对应的适配NDK版本:Flutter 3.16及以上版本适配NDK 25.x,Flutter 3.10~3.15版本适配NDK 23.x,无需盲目安装最新版NDK
- 配置完成后,先在项目根目录执行
flutter clean清空原有构建缓存,再重新发起构建
排查路径与权限异常
- 检查NDK的安装路径中不能包含中文、特殊符号、空格,否则会导致Gradle路径识别失败
- Linux/macOS系统下,需确保当前登录用户对NDK所在文件夹拥有完整的读取、执行权限
内容的提问来源于stack exchange,提问作者Nailuj29
相关产品推荐
相关产品推荐

