构建Flutter项目报错NDK工具链无arm-linux-androideabi前缀工具链如何解决
解决方案
- 方案1:指定兼容的NDK版本
该报错核心原因是高版本NDK(r22及以上)已移除arm-linux-androideabi32位ARM工具链,建议使用兼容性最好的r21e版本NDK:- 打开Android Studio的SDK Manager,进入
Appearance & Behavior > System Settings > Android SDK > SDK Tools,勾选Show Package Details,下载NDK (Side by side)下的21.4.7075529版本 - 打开项目安卓目录下的
app/build.gradle,在android配置块中添加ndk版本指定:
android { ndkVersion "21.4.7075529" // 其余原有配置保持不变 } - 打开Android Studio的SDK Manager,进入
- 方案2:指定打包的ABI架构
无需降级NDK的前提下,可在app/build.gradle的defaultConfig块中配置ABI过滤规则,仅打包支持当前NDK版本的架构:defaultConfig { // 其余原有配置保持不变 ndk { abiFilters 'arm64-v8a', 'x86_64' } } - 方案3:检查local.properties配置
打开安卓目录下的local.properties文件,确认是否存在硬编码的ndk.dir配置:- 如果存在,将路径修改为你下载的r21e版本NDK的本地路径,或直接删除该行让Gradle自动匹配正确的NDK版本
- 方案4:升级Flutter版本
2.x及更早版本的Flutter默认依赖旧版NDK规则,将Flutter升级到3.0及以上稳定版也可修复该兼容性问题
所有配置修改完成后,执行以下命令重新编译即可:
flutter clean rm -rf android/.gradle flutter run
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

