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

升级Android SDK 33后PendingIntent标志缺失致崩溃求助

解决方案:Android 13(SDK 33)下PendingIntent标志缺失导致崩溃(关联Salesforce MarketingCloud)

问题根因

崩溃的核心是Salesforce MarketingCloud SDK内部创建PendingIntent时未适配Android 12+(API 31+)的强制要求——系统规定Targeting S+(API 31及以上)时,创建PendingIntent必须指定FLAG_IMMUTABLE或FLAG_MUTABLE标志,旧版本的MarketingCloud SDK未做该适配。

解决步骤

  • 优先升级Salesforce MarketingCloud SDK
    官方后续版本已修复该适配问题,直接将项目中的MarketingCloud SDK依赖替换为支持API 33的最新稳定版(例如com.salesforce.marketingcloud:marketingcloud-sdk:8.0.0+,具体版本以官方发布为准)。

  • 临时过渡方案(无法立即升级时)
    如果暂时无法升级第三方SDK,可采取以下临时措施:

    1. 在AndroidManifest.xml的<application>标签中添加tools:replace="android:targetSdkVersion",同时将targetSdkVersion临时降级至30(注意:这只是临时规避,长期需保持目标版本对齐最新SDK)。
    2. 若需保留targetSdkVersion 33,可通过字节码插桩工具(如ASM)修改MarketingCloud SDK内部的PendingIntent创建逻辑,添加必要的标志,但该操作复杂度高,仅适合有字节码处理经验的开发者。

关于引入work-runtime无效的说明

androidx.work:work-runtime:2.8.1的升级仅解决Jetpack WorkManager自身的PendingIntent适配问题,你的崩溃根源在Salesforce MarketingCloud SDK,因此该操作对当前问题无帮助。

内容的提问来源于stack exchange,提问作者Eswara Prabu K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:04:53