1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

EncryptedSharedPreferencesのところで落ちる件

Posted at

ただの備忘録なのであまり本質的でないです。

困ったこと

昨日まで動いていた開発中のAndroidアプリが、エミュレータ上で落ちる。

#どこで落ちているか
ここ。つまりEncryptedSharedPreferencesを開くところ。

    @Synchronized
    fun getPreferences(): SharedPreferences {
        val masterKey = MasterKey.Builder(getApplication(), MasterKey.DEFAULT_MASTER_KEY_ALIAS)
                .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
                .build()
        return EncryptedSharedPreferences.create(getApplication(),
                "my_app",
                masterKey,
                EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
                EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM)
    }

※「ここを呼び出している大元のクラス」が例外を吐いた後、改めてここが例外を吐くので、一見気付かないことがある(これではまった)。

#何が原因か
エミュレータおよび一部実機のAndroidKeyStoreの実装がおかしいらしい。

#ワークアラウンド
AVD Managerで当該エミュレータのAVDを Stop→Wipe Data→Launch してから改めてアプリを起動。
androidx.security:security-crypto ライブラリのバージョンによって治ったり治らなかったりするいう報告もあり。

#参考
Google Issue Tracker

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?