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

Azure Active Directory库报错:无法解析com.microsoft.device.display:display-mask:0.3.0

解决依赖解析失败:Failed to resolve: com.microsoft.device.display:display-mask:0.3.0

问题原因

你把com.microsoft.device.display:display-mask对应的Duo SDK仓库配置在了buildscript块的repositories中,但buildscript仅用于加载Gradle构建插件的依赖,应用自身的依赖需要从allprojects块或模块级的repositories中拉取,因此Gradle无法找到该依赖。另外,jcenter()已停止服务,建议移除避免构建异常。

修复步骤

1. 修改Project级build.gradle

添加allprojects块,配置应用依赖所需的仓库,确保包含Duo SDK的Maven仓库:

buildscript {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        maven {
            name "vsts-maven-adal-android"
            url "https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1"
            credentials {
                username System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") : project.findProperty("vstsUsername")
                password System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") : project.findProperty("vstsMavenAccessToken")
            }
        }
    }
    dependencies {
        def nav_version = "2.5.2"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
    }
}

// 新增allprojects块,配置应用依赖的仓库
allprojects {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        // Duo SDK仓库,用于拉取display-mask依赖
        maven {
            url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
        }
        // MSAL相关仓库
        maven {
            name "vsts-maven-adal-android"
            url "https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1"
            credentials {
                username System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") : project.findProperty("vstsUsername")
                password System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") : project.findProperty("vstsMavenAccessToken")
            }
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2. 同步并重新构建

修改完成后,点击Android Studio右上角的Sync Project with Gradle Files按钮,同步完成后重新执行构建。

额外说明

如果你的模块级build.gradle中单独配置了repositories块,也需要确保其中包含上述必要的仓库,否则Gradle仍可能无法找到依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:25:38