我正在使用Android Hidden API在大学进行教育目的项目。特别是,我正在玩指纹身份验证。我的目标是从AuthenticationResult
中获取Fingerprint
对象。身份验证结果有两个getter:getCryptoObject()
和getFingerprint()
。最后一个是隐藏的(而且Fingerprint
类也有@hide
注释(,所以我不能调用它。然后我找到了这个存储库(见 https://github.com/anggrayudi/android-hidden-api(,所以我将android.jar
替换到我的 sdk 位置。这样做,我可以访问Fingerprint
类并调用getFingerprint()
,但它返回 null。我想知道我的设备是否应该有一个启用了隐藏 api 的framework.jar
版本(与我实际用于在 Android Studio 中构建应用程序的版本相同(,或者,简单地说,我们无法访问这些信息(所以指纹(。 提前致谢
对于 GMS 认证的设备,您将无法在 Android 6.0+ 上访问指纹。
看: https://source.android.com/compatibility/7.1/android-7.1-cdd.pdf
部分: 7.3.10
突出:
- 必须具有硬件支持的密钥库实现,并在可信执行环境 (TEE( 或具有 TEE 安全通道的芯片上执行指纹匹配。
- 必须对所有可识别的指纹数据进行加密和加密身份验证,以便无法在可信执行环境 (TEE( 之外获取、读取或更改这些数据,如 Android 开源项目网站上的实施指南中所述。
- 不得启用第三方应用程序来区分单个指纹。