簡體   English   中英

Building Lineage os:設備清單和框架兼容性矩陣不兼容

[英]Building Lineage os : Device manifest and framework compatibility matrix are incompatible

我正在嘗試為 A52 4G 構建 Lineage OS,我正處於構建步驟,然后編譯器退出,因為“設備清單和框架兼容性矩陣不兼容”。

Kernel

設備樹

第二個是第一個需要的

供應商文件我嘗試閱讀 android 文檔,了解匹配規則 fcm 和設備清單,但我並不真正理解如何修復錯誤,我也嘗試重新編譯,當然沒有用。

我怎樣才能解決這個問題? 完整的錯誤日志:

For ODM SKU = EMPTY_ODM_SKU_PLACEHOLDER, vendor SKU = EMPTY_VENDOR_SKU_PLACEHOLDER
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:241] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as kernel version, parsing as GKI kernel release.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:251] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as GKI kernel release, parsing as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:261] Cannot parse "out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt" as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:241] Cannot parse "4.14.190-perf" as kernel version, parsing as GKI kernel release.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:251] Cannot parse "4.14.190-perf" as GKI kernel release, parsing as kernel release
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:278] Successfully parsed content of out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_version.txt: 4.14.190-perf
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getFrameworkHalManifest: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/manifest/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/manifest_android.frameworks.cameraservice.service@2.2.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/manifest_media_c2_software.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.system.keystore2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.frameworks.stats@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.system.suspend@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest/android.hidl.allocator@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/product/etc/vintf/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getDeviceHalManifest: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:79] Sysprop ro.boot.product.vendor.sku=
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/vendor/etc/vintf/manifest/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.nfc@1.2-service.samsung.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.cas@1.2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.graphics.composer-qti-display.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.health@2.1-samsung.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.lineage.trust@1.0-service.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.vibrator-service.sm7125.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/manifest/vendor.samsung.hardware.biometrics.fingerprint@3.0-service.sm7125.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:79] Sysprop ro.boot.product.hardware.sku=
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/odm/etc/vintf/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/odm/etc/manifest.xml': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/odm/etc/vintf/manifest/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getDeviceHalManifest: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getFrameworkHalManifest: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getFrameworkCompatibilityMatrix: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getFrameworkCompatibilityMatrix: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:58] getDeviceCompatibilityMatrix: Reading VINTF information.
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/vendor/etc/vintf/compatibility_matrix.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 VintfObject.cpp:64] getDeviceCompatibilityMatrix: Successfully processed VINTF information
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:112] fetched kernel version 4.14.190
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:116] fetched kernel level from RuntimeInfo ''
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:130] read kernel configs from out/target/product/a52q/obj/PACKAGING/check_vintf_all_intermediates/kernel_configs.txt
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.6.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.4.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.device.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.3.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/etc/vintf/compatibility_matrix.5.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/system/system_ext/etc/vintf/': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:43] Fetch 'out/target/product/a52q/system/system_ext/etc/vintf/manifest.xml': OK
checkvintf I 04-02 04:47:47 119521 119521 HostFileSystem.cpp:54] List 'out/target/product/a52q/product/etc/vintf/': NAME_NOT_FOUND
checkvintf I 04-02 04:47:47 119521 119521 check_vintf.cpp:384] All HALs in device manifest are declared in FCM <= level 5
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] files are incompatible: Device manifest and framework compatibility matrix are incompatible: HALs incompatible. Matrix level = 5. Manifest level = 5. The following requirements are not met:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] android.hardware.power:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620]     required: IPower/default (@1-2)
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620]     provided:
checkvintf E 04-02 04:47:47 119521 119521 check_vintf.cpp:620] : Success
INCOMPATIBLE```

設備清單文件必須至少有target-level=6 API 才能匹配框架兼容性:

./LINUX/android/device/samsung/a52q/manifest.xml:28:

<manifest version="1.0" type="device" target-level="6">

警告我最近才開始在這個領域工作......

Project treble 規定供應商(又名設備)和系統(又名框架)就所需的 HAL 達成一致。

問題的關鍵似乎是框架需要 IPower HAL,但設備不提供。

android.hardware.power:
    required: IPower/default (@1-2)
    provided:

您的供應商和系統似乎都是兼容級別 5,這很好,但compatibility_matrix.5.xml文件包含以下部分:

<hal format="aidl" optional="false">
    <name>android.hardware.power</name>
    <interface>
        <name>IPower</name>
        <instance>default</instance>
    </interface>
</hal>

我不清楚為什么它決定需要版本 1 到 2,我的compatibility_matrix.5.xml副本沒有如上所示指定的版本,這意味着每個https://source.android.com/docs/core/ architecture/vintf/comp-matrices ,它默認為 1。

由於android.hardware.power::IPower HAL 不是可選的,您的供應商清單需要聲明它並且您的供應商實現需要擁有它。

奇怪的是,盡管谷歌最近似乎更改了這些文件,使compatibility_matrix.5.xml中的所有內容都是可選的,請參閱:

https://cs.android.com/android/_/android/platform/hardware/interfaces/+/79ed41b0e6a8646c894904942f0c4af32bfac8dc

因此,一種可能性是修改hardware/interfaces/compatibility_matrices/compatibility_matrix.5.xml文件並將其設置optional="true"並查看系統是否仍然運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM