我最近更新了我的应用程序以针对 API 31,并注意到 Google Play 控制台中报告了一个新的崩溃,这对我来说毫无意义。
在 SO 和其他地方有许多答案导致的崩溃exception.class.missing._Unknown_: Strongly consider using FLAG_IMMUTABLE...
,但是从我读到的内容来看,这个崩溃应该只与使用有关PendingIntent
。
崩溃报告是有道理的,因为我只在 Android 12 (API 31) 上看到了崩溃报告,因为这是引入显式 IMMUTABLE 或 MUTABLE 要求的地方,但我搜索了整个项目,但找不到任何使用PendingIntent
.
崩溃的时间似乎与我发送的 FCM 推送通知相关,该通知再次与来自的崩溃相关PendingIntent
,但如果我在源代码中找不到它,那么我该如何明确设置FLAG_IMMUTABLE
?
我的项目依赖项如下:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.0-beta01'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
// billing for in-app purchases
implementation 'com.android.billingclient:billing:3.0.2'
// For in-app review flow
implementation 'com.google.android.play:core:1.10.2'
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:26.1.1')
implementation 'com.google.firebase:firebase-messaging'
}