Android AOSP如何从特定构建中包含/ excl模块

时间:2017-09-30 16:54:17

标签: android android-source

我为Pixel XL(android-8.0.0_r3)下载了AOSP源代码,使用lunch aosp_marlin-userdebug构建正常。

我知道Pixel XL正在使用system/nfc/halimpl/pn54x中的NFC芯片组PN54X。困扰我的是system/nfc/halimpl下有bcm2079Xpn54x 2个不同的模块,其中源代码指示pn54x的Android.mk包含在aosp_marlin-userdebug版本中但不包含{{1 }}?如果我想从构建中删除bcm2079X并添加pn54x我该怎么办?

如果仔细查看bcm2079X,您会发现system/nfc/Android.bp已包含在内。但是,halimpl/bcm2079x/nfc_nci.c中还有一个nfc_nci.c。当我尝试将错误注入每个文件然后构建时,我注意到pn54x没有报告错误,意味着该文件实际上被构建忽略。但是如何?

2 个答案:

答案 0 :(得分:0)

更新:您可以在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文件,看看会发生什么。

如果您想创建自己的命令来构建具有不同模块的特定 AOSP,例如: lunch aosp_marlin_custom-userdebug,您需要添加自己的设备。你可以找到如何做到here.

我宁愿将此作为评论发布,但我无法做到。

答案 1 :(得分:0)

答案位于-(void)setTabBarSelectedDeselectedIconsAndTitleColor{ UITabBarItem *recentItem = self.tabBarController.tabBar.items[0]; [recentItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:91.0f/255.0f green:46.0f/255.0f blue:224.0f/255.0f alpha:1.0f]} forState:UIControlStateNormal]; [recentItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:91.0f/255.0f green:46.0f/255.0f blue:224.0f/255.0f alpha:1.0f]} forState:UIControlStateSelected]; recentItem.image = [[UIImage imageNamed:@"home_unselect_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; recentItem.selectedImage = [[UIImage imageNamed:@"home_select_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; recentItem = self.tabBarController.tabBar.items[1]; [recentItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:91.0f/255.0f green:46.0f/255.0f blue:224.0f/255.0f alpha:1.0f]} forState:UIControlStateNormal]; [recentItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor colorWithRed:91.0f/255.0f green:46.0f/255.0f blue:224.0f/255.0f alpha:1.0f]} forState:UIControlStateSelected]; recentItem.image = [[UIImage imageNamed:@"kid_location_unselect_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; recentItem.selectedImage = [[UIImage imageNamed:@"kid_location_select_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; } 中,.mk文件中包含nfc模块:

AOSP\device\google\marlin\device-marlin.mk

模块名称必须遵循# NFC packages PRODUCT_PACKAGES += \ nfc_nci.marlin android.mk)中的名称:

AOSP\src\system\nfc\halimpl\pn54x\Android.mk

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