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

Facebook Android SDK依赖解析失败求助(已尝试方案无效)

解决Facebook Android SDK依赖解析失败(403 Forbidden)问题

错误日志

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
   > Could not resolve com.facebook.android:facebook-android-sdk:latest.release.
     Required by:
         project :app
      > Skipped due to earlier error
      > Failed to list versions for com.facebook.android:facebook-android-sdk.
         > Unable to load Maven meta-data from https://api.mapbox.com/downloads/v2/releases/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml.
            > Could not get resource 'https://api.mapbox.com/downloads/v2/releases/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml'.
               > Could not GET 'https://api.mapbox.com/downloads/v2/releases/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml'. Received status code 403 from server: Forbidden
   > Could not resolve com.facebook.android:audience-network-sdk:6.11.0.
     Required by:
         project :app > com.google.ads.mediation:facebook:6.11.0.0
      > Skipped due to earlier error
      > Could not resolve com.facebook.android:audience-network-sdk:6.11.0.
         > Could not get resource 'https://api.mapbox.com/downloads/v2/releases/maven/com/facebook/android/audience-network-sdk/6.11.0/audience-network-sdk-6.11.0.pom'.
            > Could not GET 'https://api.mapbox.com/downloads/v2/releases/maven/com/facebook/android/audience-network-sdk/6.11.0/audience-network-sdk-6.11.0.pom'. Received status code 403 from server: Forbidden

问题原因

Gradle错误地尝试从Mapbox私有Maven仓库下载Facebook SDK依赖,该仓库仅对Mapbox相关包开放访问,因此返回403 Forbidden。这通常是仓库配置顺序不当,或未对Mapbox仓库做内容过滤导致的。

解决方案

方案1:调整仓库优先级(最直接)

打开项目根目录下的android/build.gradle,修改allprojects中的仓库顺序,确保公共仓库(google()、mavenCentral())排在Mapbox仓库之前,让Gradle优先从公共仓库获取Facebook依赖:

allprojects {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        maven {
            // Android JSC相关依赖仓库
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        jcenter() // 可选,jcenter已停止维护,建议后续逐步移除
        maven { url 'https://www.jitpack.io' }
        // 如果项目需要Mapbox仓库,放在最后
        maven {
            url "https://api.mapbox.com/downloads/v2/releases/maven"
        }
    }
}

方案2:给Mapbox仓库添加内容过滤(更严谨)

如果项目必须保留Mapbox仓库,可通过内容过滤限制该仓库仅处理Mapbox相关依赖,避免干扰其他包的解析:

allprojects {
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        maven {
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        maven {
            url "https://api.mapbox.com/downloads/v2/releases/maven"
            // 仅允许从该仓库获取Mapbox相关组的依赖
            content {
                includeGroup "com.mapbox"
                includeGroup "com.mapbox.mapboxsdk"
                includeGroup "com.mapbox.android"
            }
        }
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

方案3:避免使用latest.release,指定具体版本

latest.release会让Gradle频繁请求仓库拉取版本元数据,建议替换为Facebook SDK的稳定具体版本,比如:
打开app/build.gradle,修改依赖声明:

// 替换为当前稳定版本,示例为16.2.0,可根据官方文档选择最新稳定版
implementation 'com.facebook.android:facebook-android-sdk:16.2.0'
// 如果仅需要登录功能,可单独引入
// implementation 'com.facebook.android:facebook-login:16.2.0'

最后:清理Gradle缓存

修改配置后,执行以下操作确保缓存更新:

  • 终端执行命令:./gradlew clean build --refresh-dependencies
  • 或在Android Studio中点击File > Invalidate Caches... > Invalidate and Restart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:25:25