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

TargetSdk升至31后,更新PendingIntent仍因FLAG问题在GoogleAnalytics代码处崩溃

问题原因与解决办法

这个崩溃的核心原因是你使用的Google Analytics SDK版本太旧,内部创建PendingIntent时没有适配Android 12(API 31)及以上的强制要求——虽然你自己代码里没直接写PendingIntent,但GA SDK初始化newTracker的过程中,会在内部创建PendingIntent用于事件上报、会话管理等逻辑,而旧版本SDK没有添加FLAG_IMMUTABLE或FLAG_MUTABLE标记,导致触发系统抛出的IllegalArgumentException。

解决步骤:

  1. 升级Google Analytics SDK到兼容Android 12的版本
    打开项目Module级别的build.gradle文件,找到Google Analytics的依赖项,将其升级到最新稳定版本。如果仍在使用旧的play-services-analytics,建议升级到至少18.0.2版本:

    implementation 'com.google.android.gms:play-services-analytics:18.0.2'
    

    另外,Google已逐步弃用旧版Google Analytics,更推荐迁移到Firebase Analytics,它对Android 12+的适配更完善,依赖配置示例:

    implementation 'com.google.firebase:firebase-analytics-ktx:21.5.0'
    
  2. 同步依赖并清理构建
    升级依赖后,点击Android Studio的「Sync Project with Gradle Files」按钮同步配置,再执行「Clean Project」和「Rebuild Project」,确保旧SDK缓存被完全清除。

补充说明

如果暂时无法升级SDK,也可以尝试通过反射或兼容性工具临时修复,但这种方法风险高、维护成本大,优先推荐升级SDK,这是最彻底的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:06:25