问题描述
我有一个用于设备的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?