无法使用Android O HIDL [英] Android O HIDL not available

查看:1142
本文介绍了无法使用Android O HIDL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对Android O HIDL有问题。故障日志显示无法找到服务。

I have problem with Android O HIDL. The failure log shows it can't find out the service.

但是我可以通过 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/

Could anyone give me a hint how to solve the problem? I checked https://source.android.com/devices/architecture/hidl/ but could not get the solution.

错误日志:

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


推荐答案

我已成功运行我的Android 8.1指纹HAL在HiKey
96板上执行以下修改后的文件。

I've succeeded in running my fingerprint HAL on Android 8.1 executing on HiKey 96 board after modified files as below.

首先,有必要添加HIDL并将其声明为设备

Firstly, it's necessary that adding HIDL configures to declare a device as a vendor or you would get VTS failed.

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>

第二,在下面的文件中定义手指服务后,它将开始。

Secondly, finger service will be started after you define it in the file below.

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系统中启动并运行了Check Finger服务终端命令,例如 adb shell和 ps | grep finger。

Finally, check finger service has been started and running in Android system by using terminal commands such as "adb shell" and "ps | grep finger".

欢迎任何建议。

这篇关于无法使用Android O HIDL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆