要解决“AndroidX Security EncryptedSharedPreferences v1.1.0 /w API 21问题”,您可以尝试以下步骤:
确保您的项目已经迁移到了AndroidX。如果没有,请将其迁移到AndroidX,以便使用最新的库版本。
在您的项目中添加以下依赖项:
implementation "androidx.security:security-crypto:1.0.0-alpha02"
EncryptedSharedPreferences
替代旧的SharedPreferences
。请注意,EncryptedSharedPreferences
需要一个MasterKey
才能运行。这是一个示例代码:import androidx.security.crypto.EncryptedSharedPreferences
import androidx.security.crypto.MasterKey
...
val masterKey = MasterKey.Builder(context)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
val sharedPreferences = EncryptedSharedPreferences.create(
context,
"encrypted_prefs_file",
masterKey,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
// 使用EncryptedSharedPreferences进行读写操作
sharedPreferences.edit().putString("key", "value").apply()
val value = sharedPreferences.getString("key", null)
...
请注意,MasterKey.KeyScheme
和EncryptedSharedPreferences.PrefKeyEncryptionScheme
以及EncryptedSharedPreferences.PrefValueEncryptionScheme
的值可以根据您的需求进行调整。
希望这些步骤可以帮助您解决问题并成功使用EncryptedSharedPreferences
。