security-crypto:针对 S+(版本 31 及以上)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一
security-crypto: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent
针对 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一。强烈考虑使用 FLAG_IMMUTABLE,仅当某些功能依赖于可变的 PendingIntent 时才使用 FLAG_MUTABLE,例如如果它需要与内联回复或气泡一起使用。
堆栈跟踪:
com.google.crypto.tink.shaded.protobuf.FieldType$Collection。 (FieldType.java:337)
androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme。 (EncryptedSharedPreferences.java:148)
PreferenceHelper$Companion.init (PreferenceHelper.kt:41)
这是我初始化 SharedPreferences 的方式:
private lateinit var preferences: SharedPreferences
fun init(context: Context) {
val mainKey = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
preferences = EncryptedSharedPreferences.create(
SHARED_PREF_KEY,
mainKey,
context,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, <- this is the 41 line number, where its crashing
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
}
有什么帮助吗?
尝试将以下行添加到您的 :app
(模块级)build.gradle
依赖项中:
implementation 'androidx.work:work-runtime-ktx:2.7.1'
添加这个依赖项为我解决了这个问题。
implementation 'androidx.work:work-runtime-ktx:2.7.1'
针对 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一。强烈考虑使用 FLAG_IMMUTABLE,仅当某些功能依赖于可变的 PendingIntent 时才使用 FLAG_MUTABLE,例如如果它需要与内联回复或气泡一起使用。
堆栈跟踪:
com.google.crypto.tink.shaded.protobuf.FieldType$Collection。 (FieldType.java:337) androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme。 (EncryptedSharedPreferences.java:148) PreferenceHelper$Companion.init (PreferenceHelper.kt:41)
这是我初始化 SharedPreferences 的方式:
private lateinit var preferences: SharedPreferences
fun init(context: Context) {
val mainKey = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
preferences = EncryptedSharedPreferences.create(
SHARED_PREF_KEY,
mainKey,
context,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, <- this is the 41 line number, where its crashing
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
}
有什么帮助吗?
尝试将以下行添加到您的 :app
(模块级)build.gradle
依赖项中:
implementation 'androidx.work:work-runtime-ktx:2.7.1'
添加这个依赖项为我解决了这个问题。
implementation 'androidx.work:work-runtime-ktx:2.7.1'