2017-08-22 29 views
5

मुझे एंड्रॉइड ओ एचआईडीएल के साथ समस्या है। विफलता लॉग दिखाता है कि यह सेवा नहीं ढूंढ सकता है।एंड्रॉइड ओ एचआईडीएल उपलब्ध नहीं है

हालांकि मैं इसे द्वारा adb shell ps -A | grep fingerprint

system 18758 1 17408 3276 pipe_wait 7c79e93e08 R [email protected]

देख सकते हैं किसी को भी मुझे एक संकेत कैसे समस्या को हल करने दे सकते हैं? मैंने https://source.android.com/devices/architecture/hidl/ चेक किया लेकिन समाधान नहीं मिला।

त्रुटि लॉग: (। रेफरी https://source.android.com/devices/architecture/vintf/objects)

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 [email protected]::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 [email protected]::IBiometricsFingerprint in either framework or device manifest, using default transport. 
08-21 06:00:35.866 1890 2264 E system_server: service [email protected]::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 

उत्तर

1

मुझे पता चला कि मैं Manifest.xml
लिए कोड जोड़ने की जरूरत

<hal format="hidl"> 
     <name>android.hardware.biometrics.fingerprint</name> 
     <transport>hwbinder</transport> 
     <impl level="generic"></impl> 
     <version>2.1</version> 
     <interface> 
      <name>IBiometricsFingerprint</name> 
      <instance>default</instance> 
     </interface> 
    </hal> 
1

मैं चलाने में सफल रहा है मेरी एंड्रॉइड 8.1 पर फिंगरप्रिंट एचएएल हायके पर संशोधित फ़ाइलों के बाद 96 बोर्ड निष्पादित करता है।

सबसे पहले, यह आवश्यक है कि एक डिवाइस के रूप में डिवाइस घोषित करने के लिए एचआईडीएल कॉन्फ़िगर करना या आपको 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> 

दूसरा, नीचे दी गई फ़ाइल में इसे परिभाषित करने के बाद उंगली सेवा शुरू की जाएगी।

device/linaro/hikey/device-common.mk 
+#init finger service and copy 
[email protected] to 
system/vendor/etc/init 
+PRODUCT_PACKAGES += \ 
    [email protected] 
    +# copy permission file of finger service 
+PRODUCT_COPY_FILES += \ 
    +frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc 
    /permissions/android.hardware.fingerprint.xml 

अंत में, जांच उंगली सेवा प्रारंभ कर दिया गया है और इस तरह के "एडीबी खोल" और के रूप में टर्मिनल आदेशों का उपयोग करके एंड्रॉयड प्रणाली में चल रहे "ps | ग्रेप उंगली"।

कोई भी सुझाव स्वागत है।

संबंधित मुद्दे