- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对 Android O HIDL 有疑问。失败日志显示找不到该服务。
但是我可以通过 adb shell ps -A | 看到它grep 指纹
system 18758 1 17408 3276 pipe_wait 7c79e93e08 R android.hardware.biometrics.fingerprint@2.1-service`
谁能告诉我如何解决这个问题?我检查了 https://source.android.com/devices/architecture/hidl/但无法得到解决方案。
错误日志:
08-21 06:00:35.864 1890 2264 V FingerprintService: mDeamon was null, reconnect to fingerprint
08-21 06:00:35.864 1890 2264 I system_server: Looking for service android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default
08-21 06:00:35.864 2240 2240 D wpa_supplicant: nl80211: Set mode ifindex 24 iftype 2 (STATION)
08-21 06:00:35.866 566 566 W /system/bin/hwservicemanager: getTransportFromManifest: Cannot find entry android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint in either framework or device manifest, using default transport.
08-21 06:00:35.866 1890 2264 E system_server: service android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint declares transport method EMPTY but framework expects hwbinder.
08-21 06:00:35.867 1890 2264 E FingerprintService: Failed to get biometric interface
08-21 06:00:35.867 1890 2264 E FingerprintService: android.os.RemoteException: HwBinder Error: (-2147483648)
08-21 06:00:35.867 1890 2264 E FingerprintService: at android.os.HwBinder.getService(Native Method)
08-21 06:00:35.867 1890 2264 E FingerprintService: at android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint.getService(IBiometricsFingerprint.java:44)
08-21 06:00:35.867 1890 2264 E FingerprintService: at com.android.server.fingerprint.FingerprintService.getFingerprintDaemon(FingerprintService.java:239)
08-21 06:00:35.867 1890 2264 E FingerprintService: at com.android.server.fingerprint.FingerprintService$FingerprintServiceWrapper.isHardwareDetected(FingerprintService.java:1198)
08-21 06:00:35.867 1890 2264 E FingerprintService: at android.hardware.fingerprint.IFingerprintService$Stub.onTransact(IFingerprintService.java:156)
08-21 06:00:35.867 1890 2264 E FingerprintService: at android.os.Binder.execTransact(Binder.java:674)
08-21 06:00:35.867 1890 2264 W FingerprintService: fingerprint HIDL not available
最佳答案
我已经成功地在 HiKey 上执行的 Android 8.1 上运行我的指纹 HAL 修改后的96板文件如下。
首先,有必要添加 HIDL 配置以将设备声明为供应商,否则 VTS 会失败。
About HIDL configures
device/linaro/hikey/manifest.xml
+<hal format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBiometricsFingerprint</name>
<instance>default</instance>
</interface>
</hal>
其次,finger服务将在您在下面的文件中定义后启动。
device/linaro/hikey/device-common.mk
+#init finger service and copy
android.hardware.biometrics.fingerprint@2.1-service.rc to
system/vendor/etc/init
+PRODUCT_PACKAGES += \
+android.hardware.biometrics.fingerprint@2.1-service
+# copy permission file of finger service
+PRODUCT_COPY_FILES += \
+frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc
/permissions/android.hardware.fingerprint.xml
最后在Android系统中使用“adb shell”、“ps | grep finger”等终端命令检查finger服务是否已经启动并运行。
欢迎提出任何建议。
关于Android O HIDL 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45813528/
我正在开发一个 AOSP 应用程序,它必须向蓝牙芯片组发送 HCI 命令。 我发现我可以使用这个接口(interface):https://source.android.com/reference/h
我对 Android O HIDL 有疑问。失败日志显示找不到该服务。 但是我可以通过 adb shell ps -A | 看到它grep 指纹 system 18758 1
出于测试目的,我想创建一个 HIDL 接口(interface) + 实现并将组合作为系统服务运行。为此,我定义了 IGuotie.hal 接口(interface): package android
我想构建一个 java hidl 客户端。 它使用 mmm 和 Android.mk 编译并运行良好。现在我想通过 gradle 构建它。 如这里所述:https://source.android.c
在 android 中,与 passthrough hidl 相比,binderised hidl 有什么优势? 据我所知,有两种 hidl 方式(绑定(bind)方式(独立进程中的客户端/服务器),
我是一名优秀的程序员,十分优秀!