繁体   English   中英

Android AOSP如何包含/排除来自特定版本的模块

[英]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/halimplbcm2079Xpn54x 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.cpn54x 当我尝试将错误注入每个文件然后进行构建时,我注意到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.mkandroid.mk )中的名称:

LOCAL_MODULE := nfc_nci.$(TARGET_DEVICE)

要删除或添加nfc模块,必须相应地修改device-marlin.mk。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM