我正在研究Google Pixel AOSP build(android-8.0.0_r3)的NFC代碼。我可以理解,從內核調用流程一路Android的硬件模塊system\nfc\halimpl\pn54x\nfc_nci.c
如下:從HAL到應用程序框架層的AOSP NFC設備調用流程
struct nfc_nci_module_t HAL_MODULE_INFO_SYM = {
.common =
{
.tag = HARDWARE_MODULE_TAG,
.module_api_version = 0x0100, /* [15:8] major, [7:0] minor (1.0) */
.hal_api_version = 0x00, /* 0 is only valid value */
.id = NFC_NCI_HARDWARE_MODULE_ID,
.name = "NXP PN54X NFC NCI HW HAL",
.author = "NXP Semiconductors",
.methods = &nfc_module_methods,
},
};
此硬件模塊被加載通過hw_get_module(NFC_NCI_HARDWARE_MODULE_ID)
發現它在hardware/interface/nfc/1.0/default/nfc.cpp : HIDL_FETCH_INfc(...)
。現在我被困在這裏,無法找到AOSP在哪裏調用HIDL_FETCH_INfc(...)
以及它如何鏈接到下一層?
我在dir的'hardware/interface/nfc'中沒有看到任何'jniRegisterNativeMethods(...)' – Consy
您的意思是在終端輸入'grep -r jniRegisterNativeMethods'找不到'jniRegisterNativeMethods'硬件/接口/ nfc目錄? –
是的,試過了,在hardware/interface/nfc目錄中找不到它dir – Consy