Я изучал HIDL, используя код NFC в AOSP.
Как я знаю, когда INfc.hal компилируется, INfc.h генерируется автоматически, как показано на следующем рисунке.
В NxpService.cpp есть код, подобный следующему
#include <android/hardware/nfc/1.1/INfc.h>
Но я не мог найти этот путь.
где реальный путь android / hardware / nfc / 1.1 / INfc.h?
Кроме того, мне стало интересно, как работает компиляция gcc в NxpService.cpp, который использует INfc.h.
Не могли бы вы объяснить, как компилятор 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();