Azure Pipeline下Flutter Android构建报NDK arm-linux-androideabi工具链缺失错误
问题根因
该报错属于通用Android构建问题,并非Flutter特有。你遇到的构建失败是微软托管代理镜像20210929.1版本更新导致:新版本镜像默认预装的NDK移除了Flutter 1.22.6版本依赖的arm-linux-androideabi工具链,和你本地环境NDK版本不匹配。
可行解决方案
方案1:修改项目Gradle配置(最推荐,本地和云端构建通用)
无需调整Azure Pipeline配置,仅修改项目内Android目录下的Gradle文件即可:
- 确认你本地可正常构建的NDK版本号,Flutter 1.22.6推荐使用NDK 21.x版本,比如
21.0.6113669 - 打开项目
android/app/build.gradle文件,在android配置块下添加指定NDK版本的配置,同时可按需指定ABI过滤规则:
android { // 保留原有compileSdkVersion等配置 ndkVersion "21.0.6113669" // 替换为你本地正常使用的NDK版本号 defaultConfig { // 保留原有applicationId、versionCode等配置 ndk { // 按需保留需要的ABI架构,不需要的可删除减少包体积 abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64' } } }
修改后提交代码,再次触发Pipeline构建即可生效。
方案2:在Azure Pipeline中强制安装指定版本NDK
如果不想修改项目代码,可调整Pipeline的YAML配置,在Flutter构建任务前添加NDK安装步骤:
- 若使用Linux托管代理,添加如下任务:
- task: CmdLine@2 inputs: script: | $ANDROID_SDK_ROOT/tools/bin/sdkmanager --install "ndk;21.0.6113669"
- 若使用Windows托管代理,添加如下任务:
- task: CmdLine@2 inputs: script: | "%ANDROID_SDK_ROOT%\tools\bin\sdkmanager.bat" --install "ndk;21.0.6113669"
内容的提问来源于stack exchange,提问作者Vayth
相关产品推荐
相关产品推荐

