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

适配Android 12+时PendingIntent未指定可变性,依赖Facebook Login引发报错

解决Android 12+审核报错:PendingIntent未指定可变性标记(来自间接依赖库)

问题根源

你碰到的问题出在com.facebook.android:facebook-login间接引入的旧版androidx.media:media库上——该库的MediaButtonReceiver.buildMediaButtonPendingIntent方法没有为PendingIntent添加FLAG_IMMUTABLE或FLAG_MUTABLE标记,不符合Android 12及以上版本的强制要求。哪怕你用了最新版Facebook SDK,它内部依赖的androidx.media版本可能依然未适配。

直接解决方案

在Module级别的build.gradle中强制指定适配Android 12+的androidx.media:media版本,覆盖Facebook SDK引入的旧版本:

dependencies {
    // 强制升级到1.4.0及以上版本(示例用1.6.0,可按需选更高稳定版)
    implementation("androidx.media:media:1.6.0") {
        force = true
    }
    // 保留你原本的Facebook登录依赖
    implementation 'com.facebook.android:facebook-login:你的最新版本号'
    // 其他项目依赖...
}

关键说明

  • 1.4.0及以上版本的androidx.media已经修复了这个问题,默认给buildMediaButtonPendingIntent生成的PendingIntent加上了FLAG_IMMUTABLE标记,满足审核要求。
  • force = true会让Gradle强制使用你指定的版本,忽略依赖树中其他库带来的旧版依赖。

验证方式

添加依赖后,执行以下命令确认依赖树中的androidx.media版本已更新:

./gradlew app:dependencies

在输出结果里找到androidx.media:media,确认显示的是你指定的适配版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:17:06