AOSP中HIDL的接口头文件在哪里?

时间:2019-01-02 22:47:44

标签: gcc android-source hal

我在AOSP中使用Nfc代码研究了HIDL。

据我所知,当编译INfc.hal时,将自动生成INfc.h,如下图所示。 enter image description here

在NxpService.cpp中,有类似以下的代码

#include <android/hardware/nfc/1.1/INfc.h>

但是,我找不到那条路。 android / hardware / nfc / 1.1 / INfc.h的真实路径在哪里?

此外,我很好奇gcc编译如何在使用INfc.h的NxpService.cpp中工作。 您能解释一下gcc编译器如何找到INfc.h并在没有编译错误的情况下工作吗?

INfc.hal 路径:/hardware/interfaces/nfc/1.1/INfc.hal

Android.bp

hidl_interface {
name: "android.hardware.nfc@1.1",
root: "android.hardware",

NxpService.cpp 路径:/hardware/nxp/nfc/1.1/NxpService.cpp

#include <android/hardware/nfc/1.1/INfc.h>  
...
int main(){
sp<INfc> nfc_service = new Nfc();
status_t status = nfc_service->registerAsService();

2 个答案:

答案 0 :(得分:1)

android.hardware.nfc@1.1位于hardware/interfaces/nfc/1.1/ memories, guesses, and apologies

此处here显示了Android提供的接口到其实际位置的映射。

答案 1 :(得分:0)

您要查找的文件都是由hidl-gen自动生成的,它们通常位于out目录中,例如

$ANDROID_ROOT/out/soong/.intermediates/hardware/interfaces/nfc/1.1/android.hardware.nfc@1.1_genc++_headers/gen/android/hardware/nfc/1.1