android编译报错
ed_vendor_manifest.xml"
Error: The following instances are in the device manifest but not specified in framework compatibility matrix:
com.fingerprints.extension@2.0::IFingerprintAuthenticator/default
com.fingerprints.extension@2.0::IFingerprintCalibration/default
com.fingerprints.extension@2.0::IFingerprintEngineering/default
com.fingerprints.extension@2.0::IFingerprintNavigation/default
com.fingerprints.extension@2.0::IFingerprintRecalibration/default
com.fingerprints.extension@2.0::IFingerprintSenseTouch/default
com.fingerprints.extension@2.0::IFingerprintSensorTest/default
vendor.dolby.hardware.dms@2.0::IDms/default
vendor.sw.swfingerprint@2.0::ISwfingerprint/default
Suggested fix:
1. Check for any typos in device manifest or framework compatibility matrices with FCM version >= 2.
2. Add them to any framework compatibility matrix with FCM version >= 2 where applicable.
3. Add them to DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE or DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE.
10:39:53 ninja failed with: exit status 1
#### failed to build some targets (11:08 (mm:ss)) ####
1.在AP/device/qcom/msm8937_64/manifest.xml文件下新增
<hal format="hidl">
<name>com.fingerprints.extension</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IFingerprintSensorTest</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintEngineering</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintAuthenticator</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintCalibration</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintNavigation</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintRecalibration</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintSenseTouch</name>
<instance>default</instance>
</interface>
</hal>
2. 然后编译
make vendorimage
报错
原因分析
(1)通过报错信息out/target/product/msm8937_64/verified_assembled_vendor_manifest.xml这个文件中没有com.fingerprints.extension,说明没有对应的配置
(2)由于在AP/device/qcom/msm8937_64/manifest.xml添加了框架兼容性矩阵FCM,说明verified_assembled_vendor_manifest.xml中的配置项com.fingerprints.extension来自于其他文件的解析,经过搜索发现,没有在AP/hardware/interfaces/compatibility_matrices/compatibility_matrix.3.xml下添加与之对应的FCM,需要在文件对应位置AP/hardware/interfaces/compatibility_matrices/compatibility_matrix.3.xml新增
<name>com.fingerprints.extension</name>
<version>1.0</version>
<interface>
<name>IFingerprintSensorTest</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintEngineering</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintAuthenticator</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintCalibration</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintNavigation</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintRecalibration</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintSenseTouch</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.sw.swfingerprint</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISwfingerprint</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
3.再次编译make vendorimage