升级Android Studio后Flutter构建报NDK无arm-linux-androideabi工具链错误
问题原因
升级到Android Studio Arctic Fox + SDK 31后,配套的高版本NDK已经移除了废弃的arm-linux-androideabi32位工具链,而项目现有Gradle配置仍会调用该工具链处理原生库,因此触发构建失败。
解决方案
以下三个方案任选其一即可:
方案1:指定兼容的旧版NDK
打开项目android/app/build.gradle文件,在android代码块中添加NDK版本指定配置:android { ndkVersion "21.4.7075529" // 其余原有配置保持不变 }若本地未安装该版本NDK,可打开Android Studio的SDK Manager,进入「SDK Tools」标签页,勾选「Show Package Details」,找到NDK分类下的21.4.7075529版本安装即可。
方案2:关闭原生库strip任务
若不想降级NDK,可在android/app/build.gradle的android代码块中添加如下配置,跳过原生库strip操作:android { packagingOptions { doNotStrip "*/armeabi-v7a/*.so" doNotStrip "*/arm64-v8a/*.so" doNotStrip "*/x86/*.so" doNotStrip "*/x86_64/*.so" } // 其余原有配置保持不变 }方案3:升级Gradle插件适配高版本NDK
打开项目根目录下的android/build.gradle文件,将com.android.tools.build:gradle的版本号升级到7.0.3及以上;再打开android/gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl对应的Gradle版本升级到7.0.2及以上,和插件版本匹配即可。
配置修改完成后,执行flutter clean清理项目缓存,再重新执行构建命令即可正常编译。
内容的提问来源于stack exchange,提问作者Nithinjith
相关产品推荐
相关产品推荐

