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

迁移至Gradle 3版本后所有包报错:无法列出com.facebook.android:facebook-login版本

解决Gradle 3迁移后Facebook Login依赖加载失败的问题

这个问题我之前帮同行排查过,本质是Gradle依赖解析的仓库优先级搞反了——你的项目里配置了Moat的SDK仓库,但Gradle 3的解析逻辑会优先去这个仓库找Facebook的依赖,而Moat的仓库根本没有com.facebook.android:facebook-login的元数据,所以才会报这个错。

给你几个靠谱的解决步骤:

  • 调整仓库顺序,优先官方仓库
    打开项目根目录的build.gradle,把Google和Maven Central仓库放在最前面,Moat的仓库往后排。这样Gradle会先去官方仓库找Facebook的依赖,不会瞎跑到Moat的仓库里碰运气:

    allprojects {
        repositories {
            google()
            mavenCentral()
            // Moat仓库放在后面
            maven { url "https://s3.amazonaws.com/moat-sdk-builds" }
        }
    }
    
  • 指定Facebook Login的具体版本
    如果你之前用的是动态版本(比如com.facebook.android:facebook-login:+或者latest.release),赶紧换成具体的稳定版本,比如:

    implementation 'com.facebook.android:facebook-login:15.1.0'
    

    动态版本会让Gradle遍历所有仓库找最新版,很容易触发这种跨仓库查找的错误,指定版本更稳。

  • 清理Gradle缓存
    有时候缓存里的旧元数据会搞事情,执行下面的命令强制刷新依赖:

    # Linux/Mac
    ./gradlew clean build --refresh-dependencies
    
    # Windows
    gradlew clean build --refresh-dependencies
    

    要是还不行,直接手动删除项目根目录下的.gradle/caches文件夹,或者用户目录里的Gradle缓存(比如~/.gradle/caches)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:44:02