[英]Android AOSP how to incl/excl modules from specific build
我下载了Pixel XL(android-8.0.0_r3)的AOSP源代码,可以通过lunch aosp_marlin-userdebug
。
我知道Pixel XL使用的是system/nfc/halimpl/pn54x
NFC芯片组system/nfc/halimpl/pn54x
。 困扰我的是在system/nfc/halimpl
有bcm2079X
和pn54x
2个不同的模块,在源代码中指示pn54x的Android.mk被包含在aosp_marlin-userdebug
构建中,而bcm2079X
没有? 如果我想从构建中删除pn54x
并包含bcm2079X
,我该怎么做?
如果仔细查看system/nfc/Android.bp
,则会发现halimpl/bcm2079x/nfc_nci.c
包含halimpl/bcm2079x/nfc_nci.c
。 然而,也有nfc_nci.c
在pn54x
。 当我尝试将错误注入每个文件然后进行构建时,我注意到halimpl/bcm2079x/nfc_nci.c
没有报告错误,这意味着该文件实际上被构建忽略。 但是如何?
更新:您可以在device /目录中添加或删除模块。 您可以尝试将模块添加到/device/generic/x86_64/mini_x86_64.mk或/device/generic/armv7-a-neon/mini_common.mk中的某个位置 (请确保选择正确的午餐)。 您甚至可以创建自己的设备,并使用构建所需的所有模块来创建device.mk
。
bcm2079x
模块不会被忽略,它直接包含在system / nfc / Android.bp文件中。
要排除pn54x
模块,可以重命名/删除Android.mk
文件,然后查看会发生什么。
如果您要使用自己的命令来构建具有不同模块(例如lunch aosp_marlin_custom-userdebug
的特定 AOSP,则需要添加自己的设备。 您可以在这里找到操作方法。
我宁愿将此作为评论发表,但我不能。
答案在AOSP\\device\\google\\marlin\\device-marlin.mk
模块包含在.mk文件中:
# NFC packages
PRODUCT_PACKAGES += \
nfc_nci.marlin
模块名称必须遵循AOSP\\src\\system\\nfc\\halimpl\\pn54x\\Android.mk
( android.mk )中的名称:
LOCAL_MODULE := nfc_nci.$(TARGET_DEVICE)
要删除或添加nfc模块,必须相应地修改device-marlin.mk。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.