首页 > 解决方案 > 在 AOSP 中使用 soong build Android.bp 时找不到头文件

问题描述

我正在尝试使用 Android.bp Soong build 构建我的 HAL 实现和服务。即使使用 Android.mk 构建过程成功,在将此 Android.mk 文件转换为 Android.bp 后,构建过程也会失败,错误为找不到头文件。

hardware/interfaces/hvuleds/2.0/default/Hvuleds.h:24:10: fatal error: 'linux/msm_mdp.h' file not found
#include <linux/msm_mdp.h>

这是 Android.mk 文件的成功内容,我的 HAL 在真实设备上表现良好:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_PROPRIETARY_MODULE := true

LOCAL_MODULE := android.hardware.hvuleds@2.0-service
LOCAL_INIT_RC := android.hardware.hvuleds@2.0-service.rc
LOCAL_SRC_FILES := \
    service.cpp \

LOCAL_SHARED_LIBRARIES := \
    libcutils \
    libdl \
    libbase \
    libutils \
    libhardware \
    libhidlbase \
    libhidltransport \
    android.hardware.hvuleds@2.0 \
    android.hardware.hvuleds@2.0-impl \

include $(BUILD_EXECUTABLE)


LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.hvuleds@2.0-impl
LOCAL_SRC_FILES := Hvuleds.cpp

LOCAL_SHARED_LIBRARIES := \
    libbase \
    liblog \
    libhidlbase \
    libhidltransport \
    libhardware \
    libutils \
    android.hardware.hvuleds@2.0 \

LOCAL_MODULE_TAGS := optional

include $(BUILD_SHARED_LIBRARY)

这是使用androidmk工具从上面的 Android.mk 自动转换的 Android.bp 文件的内容:

    relative_install_path: "hw",
    proprietary: true,

    name: "android.hardware.hvuleds@2.0-service",
    init_rc: ["android.hardware.hvuleds@2.0-service.rc"],
    srcs: ["service.cpp"],

    shared_libs: [
        "libcutils",
        "libdl",
        "libbase",
        "libutils",
        "libhardware",
        "libhidlbase",
        "libhidltransport",
        "android.hardware.hvuleds@2.0",
        "android.hardware.hvuleds@2.0-impl",
    ],

}


cc_library_shared {
    name: "android.hardware.hvuleds@2.0-impl",
    srcs: ["Hvuleds.cpp"],

    shared_libs: [
        "libbase",
        "liblog",
        "libhidlbase",
        "libhidltransport",
        "libhardware",
        "libutils",
        "android.hardware.hvuleds@2.0",
    ],

}

谁能帮我解释这个错误?谢谢 !此致!

标签: makefilegnu-makeandroid-sourceandroid-soong

解决方案


推荐阅读