You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中Android制品构建失败:NDK未安装问题求助

解决Azure Pipeline中NDK未安装导致的Android构建失败问题

看了你的报错信息和YAML配置,问题很明确:你用的macOS-10.14虚拟机镜像默认没有预装构建项目所需的NDK,而你的Gradle任务里有依赖NDK的extractLiasDevReleaseNativeSymbolTables任务,所以直接失败了。

这里给你两种可靠的解决方法,优先推荐第一种:

方法一:添加NDK自动安装任务

在你的Gradle构建步骤之前,加入AndroidSDKInstaller@0任务,让它自动安装项目所需的NDK版本。修改后的YAML配置如下:

trigger: develop
pool:
  vmImage: 'macOS-10.14'
steps:
# 新增:安装NDK
- task: AndroidSDKInstaller@0
  inputs:
    # 设为auto会自动读取项目build.gradle或local.properties中的ndkVersion配置
    ndkVersion: 'auto'
    # 必须同意SDK许可协议才能自动安装
    acceptLicense: true

- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

补充说明:

  • 如果你的项目没有在build.gradle里明确指定ndkVersion,建议手动写一个具体版本号(比如21.4.7075529)替换auto,避免自动安装最新版本可能带来的兼容性问题。
  • 你的项目build.gradle里最好明确声明NDK版本,比如在app模块的配置中:
    android {
        ndkVersion "21.4.7075529" // 替换为你项目兼容的版本
        // 其他Android配置...
    }
    

方法二:切换到预装NDK的虚拟机镜像

如果你的项目允许,可以把虚拟机镜像换成macOS-12或更高版本的镜像,这些新版本镜像默认预装了常用的NDK版本,能省去手动安装的步骤。修改pool部分即可:

pool:
  vmImage: 'macOS-12'

两种方法都能解决你当前的NDK缺失问题,优先推荐方法一,因为它更灵活,适配你当前使用的macOS-10.14镜像,也能保证NDK版本和项目需求一致。

内容的提问来源于stack exchange,提问作者Parag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:17:29