在Android映像构建过程中,构建/核心查找Android.mk/.bp时如何排除目录?

问题描述

我有一个用于设备的Android存储库(基于Pie),该设备的供应商/公司名称中包含一个文件夹,该文件夹包含许多出于各种认证原因而无法修改的项目。其中一些项目包含一个Android.mk或Android.bp,它们会生成与核心Android名称冲突的模块,例如:

build/make/core/base_rules.mk:260: error: vendor/companyname/someproject/cpufeatures: MODULE.TARGET.STATIC_LIBRARIES.cpufeatures already defined by prebuilts/ndk

我的设备不需要这些模块,因此只想忽略它们(这些模块中的源代码在Android Build System外部使用)。从我所看到的,我应该能够在我的设备/公司名称/设备名称/BoardConfig.mk中添加到“ SCAN_EXCLUDE_Dirs”的路径,以忽略在供应商/公司名称中找到的所有Android.mk/.bp,但这似乎没有任何效果(makefile仍然包括在内)。还有另一种方法可以省略目录以免扫描Android.mk或Anroid.mk文件

解决方法

对于用print_term(Term) :- arithmetic_expression(Term,Expr),print_expr(Expr),nl. print_expr(N) :- integer(N),write(N). print_expr(Expr) :- Expr =.. [Operator,Left,Right],write('('),print_expr(Left),write(Operator),print_expr(Right),write(')'). ?- print_term(plus((minus(8,2)),(times(4,3)))). ((8-2)+(4*3)) true ; false. Soong)编写的脚本,根本无法将其从构建中排除。此主题还在前面讨论过:Anyway to control Soong when to pick Android.bp and when not?