如何修改Flutter默认使用的NDK版本?
Flutter强制指定NDK版本解决依赖兼容问题
Flutter默认会使用预设的NDK 26版本,即使手动卸载也会自动重新下载,导致依赖库要求的高版本NDK无法生效。以下是具体解决方法:
1. 项目级强制指定(推荐)
方法一:通过项目gradle配置全局指定
编辑项目根目录下的android/build.gradle,添加如下代码,强制所有Android子模块使用目标NDK版本:
subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { android { ndkVersion '28.1.13356709' } } } }
方法二:通过local.properties指定NDK路径
编辑项目的android/local.properties文件,直接写入NDK的具体安装路径:
ndk.dir=/home/你的用户名/Android/Sdk/ndk/28.1.13356709
可通过执行sdkmanager --list | grep ndk确认已安装的28版本具体路径。
2. 系统级全局配置(作用于所有Flutter项目)
在Ubuntu的shell配置文件(如~/.bashrc或~/.zshrc)中添加环境变量:
export ANDROID_NDK_HOME=/home/你的用户名/Android/Sdk/ndk/28.1.13356709
保存后执行source ~/.bashrc(根据你使用的shell调整命令)使配置立即生效。
3. 验证配置是否生效
执行flutter doctor -v,查看输出中Android NDK对应的路径是否为你指定的版本;或运行flutter run时,观察构建日志中的NDK版本信息。
内容的提问来源于stack exchange,提问作者lovecode
相关产品推荐
相关产品推荐

