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

Azure DevOps Android构建失败:无法找到com.shopify:livedata-ktx:2.0.2

Azure DevOps流水线突然无法找到依赖的排查思路

我的应用托管在Azure DevOps并配置了构建流水线,过去一年运行正常——每次合并到master分支都会构建.aab文件并发布到AppCenter和PlayStore。未做任何配置变更的情况下,流水线突然出现无法找到com.shopify:livedata-ktx:2.0.2依赖的错误,但本地构建完全正常(已清理Android Studio缓存尝试复现失败,但未成功)。我可以通过删除依赖并提取所用方法解决问题,但希望查明故障原因。

相关配置信息

流水线Gradle YAML配置

variables:
  wrapperScript: 'gradlew'

steps:
- task: Gradle@2
  displayName: 'gradlew bundleRelease bundleStaging bundleDev'
  inputs:
    gradleWrapperFile: '$(Parameters.wrapperScript)'
    options: ' -x lint -s --stacktrace'
    tasks: 'bundleRelease bundleStaging bundleDev'
    publishJUnitResults: false
    sonarQubeRunAnalysis: true
    sonarQubeGradlePluginVersion: 3.2.0

应用模块build.gradle(:app)依赖配置

implementation 'com.shopify:livedata-ktx:2.0.2'

项目根目录build.gradle配置

buildscript {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.5.1'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.21'
        classpath 'com.google.gms:google-services:4.4.0'
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.50'
        classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.7.6'
    }
}


allprojects {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

排查思路

  • 检查Azure DevOps代理的网络/仓库访问限制:本地能拉取但流水线失败,大概率是代理机器访问Maven Central(该依赖托管在此)时出现问题,比如新增防火墙规则、镜像源配置变更,或者代理池配置的私有镜像未同步该依赖。
  • 验证依赖的仓库可用性:确认com.shopify:livedata-ktx:2.0.2是否仍在Maven Central正常存在,避免流水线使用的镜像源出现同步延迟或失效。
  • 清理流水线的Gradle缓存:Azure DevOps的Gradle任务可能使用了损坏或缺失的缓存依赖,尝试添加清理缓存步骤(如执行./gradlew clean build --no-build-cache),或禁用缓存重新构建。
  • 对比本地与流水线的环境差异:确认流水线代理的JDK版本、环境变量是否和本地一致,比如本地用JDK 17而流水线用JDK 11,可能引发依赖拉取的兼容性问题。
  • 修正根目录仓库配置冗余:根目录allprojects里重复配置了mavenCentral(),虽然不直接报错,但可能影响仓库解析顺序,尝试合并重复配置保持列表唯一。
  • 获取详细依赖解析日志:在Gradle任务的options中添加--info或--debug参数,查看具体是哪个仓库未找到依赖,或者拉取时的具体错误(如SSL证书问题、超时)。
  • 确认依赖的仓库迁移情况:检查Shopify是否将该依赖迁移到了其他仓库,本地可能缓存了旧地址,而流水线需要从新地址拉取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:12:35