在android开发者的文档参考中,这里是url androidx.security.crypto.MasterKeys
我发现MasterKeys类已被弃用,建议使用MasterKey.Builder来处理主密钥。
但当我提到";MasterKey.Builder";并发现它最终仍然调用MasterKeys。
我很困惑,为什么MasterKeys被弃用但仍然有效。
标记为deprecated
的API表示不应使用它,因为它将来很可能会被删除。
在不推荐使用的API被删除之前(这可能需要数月甚至数年的时间(,它可以像以前一样使用而不会出现问题。因此,不使用不推荐使用的API意味着您已经为未来做好了准备。
如果你不想,你可以使用不推荐使用的API,直到它被删除,但是当你升级到删除了API的版本时,你必须将你的代码调整为编译中断。但是,如果您现在切换到新的API,您就可以了,下次升级库时不必担心。
不推荐使用的类和新的类对象基本相同。最新的一个遵循构建器模式,而不是用于创建该类的新对象的构造函数。请阅读这个答案https://stackoverflow.com/a/29881683/10436885
只有在您的build.gradle应用程序中实现与新版本的依赖关系中的实现库,此时为:
implementation "androidx.security:security-crypto:1.0.0-rc04"
implementation "androidx.security:security-identity-credential:1.0.0-alpha02"
https://developer.android.com/jetpack/androidx/releases/security