我在AOSP中使用Nfc代码研究了HIDL。
据我所知,当编译INfc.hal时,INfc.h会自动生成,如下图所示。

在NxpService.cpp中,有如下代码
#include <android/hardware/nfc/1.1/INfc.h>但是,我找不到那条路。android/hardware/nfc/1.1/INfc.h的真实路径在哪里?
此外,我开始好奇,在使用INfc.h的NxpService.cpp中,gcc是如何编译的。你能解释一下gcc编译器是如何找到INfc.h并在没有编译错误的情况下工作的?
接口路径:/ INfc.hal /interface/nfc/1.1/infc.hal
Android.bp
hidl_interface {
name: "android.hardware.nfc@1.1",
root: "android.hardware",硬件路径:/ NxpService.cpp /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();发布于 2019-06-20 01:48:25
android.hardware.nfc@1.1应该在hardware/interfaces/nfc/1.1/ here。
Android提供的接口到它们实际位置的映射显示在这里的https://source.android.com/devices/architecture/hidl/interfaces。
发布于 2019-08-10 16:29:15
您要查找的文件都是由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
https://stackoverflow.com/questions/54014167
复制相似问题