Вот очень простой пример кода:
val keyStore = KeyStore.getInstance("AndroidKeyStore")
keyStore.load(null)
if (keyStore.getCertificate("foobar") == null) {
Log.d("kkkkk", "keystore not found")
}
Каждый раз, когда я вызываю метод getCertificate (), KeyStore помещает трассировку стека в журнал в качестве предупреждения. Хотя код работает должным образом, он очень расстраивает, потому что мы используем эту функцию очень широко, и наш журнал стал очень трудно читать. Я сталкивался с этим почти на всех телефонах с минимальной Android 9. Вот начало трассировки стека:
2020-03-27 14:34:49.541 26536-26536/com.example.keystoreexceptiontest W/KeyStore: KeyStore exception
android.os.ServiceSpecificException: (code 7)
at android.os.Parcel.createException(Parcel.java:2085)
at android.os.Parcel.readException(Parcel.java:2039)
at android.os.Parcel.readException(Parcel.java:1987)
at android.security.keystore.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:978)
at android.security.KeyStore.get(KeyStore.java:236)
at android.security.KeyStore.get(KeyStore.java:225)
at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:160)
at java.security.KeyStore.getCertificate(KeyStore.java:1120)
После некоторого поиска я обнаружил много похожих проблем, но большинство из них рекомендуют именно это решение. решить проблему, как этот
Можете ли вы порекомендовать что-нибудь, чтобы избавиться от этих предупреждений?