未解决的参考:MasterKey
Unresolved reference: MasterKey
我正在尝试按照此处给出的示例进行操作:
https://developer.android.com/topic/security/data
我已经在 gradle 中包含了所需的库:
implementation "androidx.security:security-crypto:1.0.0"
// For Identity Credential APIs
implementation "androidx.security:security-identity-credential:1.0.0-alpha02"
然而当我尝试使用代码时:
val mainKey = MasterKey.Builder(applicationContext)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
我收到未解决的参考:MasterKey 错误。图书馆有 class 吗?
提前致谢。
将库升级到最新版本(撰写本文时为 1.1.0-alpha03)
implementation "androidx.security:security-crypto:1.1.0-alpha03"
从 release note,MasterKey
添加到版本 1.1.0-alpha01。
Version 1.1.0-alpha01
...
New MasterKey class provides more options for keys, also deprecating MasterKeys to support new features and versions of Android that do not have KeyGenParamSpec.
趁着解恒回复中的一个hook…
MasterKey API was added in the androidx.security
package from the 1.1.0-alpha01
version of security-crypto
(you can access the versions of this library here).
如果你申请,你就会成功。
但是如果您正在处理的 Android 项目支持 Android API 23(又名 Android Marshmallow 或只是 Android 6)...
应该毫无问题地接受的东西,完全按照 official documentation 中的说明。显示如何使用 EncryptedSharedPreferences
和 EncryptedFile
APIs…
的文档
如果您将 minSdkVersion
设置为 23
,那么您会注意到该项目甚至无法编译。
我就是这样!
我从事的项目支持 Android API 23 级。
所以我applied the following update到AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="...">
<uses-sdk tools:overrideLibrary="androidx.security.identity.credential" />
...
并且项目运行顺利,包括上Android API 23(上AVD API 23)。
注意: 另一种选择是使用 MasterKeys API 而不是 MasterKey
。但请注意 MasterKeys
已弃用。
我正在尝试按照此处给出的示例进行操作: https://developer.android.com/topic/security/data
我已经在 gradle 中包含了所需的库:
implementation "androidx.security:security-crypto:1.0.0"
// For Identity Credential APIs
implementation "androidx.security:security-identity-credential:1.0.0-alpha02"
然而当我尝试使用代码时:
val mainKey = MasterKey.Builder(applicationContext)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
我收到未解决的参考:MasterKey 错误。图书馆有 class 吗?
提前致谢。
将库升级到最新版本(撰写本文时为 1.1.0-alpha03)
implementation "androidx.security:security-crypto:1.1.0-alpha03"
从 release note,MasterKey
添加到版本 1.1.0-alpha01。
Version 1.1.0-alpha01
...
New MasterKey class provides more options for keys, also deprecating MasterKeys to support new features and versions of Android that do not have KeyGenParamSpec.
趁着解恒回复中的一个hook…
MasterKey API was added in the androidx.security
package from the 1.1.0-alpha01
version of security-crypto
(you can access the versions of this library here).
如果你申请
但是如果您正在处理的 Android 项目支持 Android API 23(又名 Android Marshmallow 或只是 Android 6)...
应该毫无问题地接受的东西,完全按照 official documentation 中的说明。显示如何使用 EncryptedSharedPreferences
和 EncryptedFile
APIs…
如果您将 minSdkVersion
设置为 23
,那么您会注意到该项目甚至无法编译。
我就是这样!
我从事的项目支持 Android API 23 级。
所以我applied the following update到AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="...">
<uses-sdk tools:overrideLibrary="androidx.security.identity.credential" />
...
并且项目运行顺利,包括上Android API 23(上AVD API 23)。
注意: 另一种选择是使用 MasterKeys API 而不是 MasterKey
。但请注意 MasterKeys
已弃用。