我正在使用appium自动化Android应用程序,我有一个场景需要在Fringerprint可用和不可用的设备上进行验证。
要获取设备操作系统版本,名称等设备详细信息,我使用的是adb shell命令,如
adb shell getprop ro.build.version.release
像这样,我试图获得指纹设备的道具,我得到了与指纹相关的以下道具
[ro.bootimage.build.fingerprint]: [google/angler/angler:7.1.2/N2G47O/3852959:user/release-keys]
[ro.vendor.build.fingerprint]: [google/angler/angler:7.1.2/N2G47O/3852959:user/release-keys]
[init.svc.fingerprintd]: [running]
现在需要知道哪个是正确的属性来检查
答案 0 :(得分:1)
您列出的前两个属性[ro.bootimage.build.fingerprint]和[ro.vendor.build.fingerprint]与指纹识别器设备无关,而与Android cryptographic fingerprint无关{ {3}}用于启动分区(ro.bootimage)和特定于供应商的软件分区(ro.vendor)。
属性[init.svc.fingerprintd]告诉您指纹守护程序(指纹)服务(svc)的当前状态(正在运行)。注册指纹和执行其他操作需要disk image(请参阅service)。
因此,您需要寻找其他方法来检查指纹选项是否可用并设置。 https://source.android.com/security/authentication/fingerprint-hal有一个公共方法hasEnrolledFingerprints()
,可用于确定是否至少注册了一个指纹。您可以在应用内调用此API。
从adb shell,您可能必须直接调用指纹服务,而不是使用API(FingerprintManager API)。