如何从 android 平台构建中删除大量模块?

How to remove numerous modules from android platform build?

我们的芯片组供应商提供了带有数百个无用模块的 Android 平台。有些是使用 LOCAL_MODULE_TAGS := optional debug 包含的,但我根本不希望这个模块出现在任何构建中。有些是通过执行 PRODUCT_PACKAGES += junk-app 包含的。我可以一次一个地浏览所有 Android.mk 文件来清理这些东西,但是如果供应商给我们一个新的 drop,这对于合并来说是很麻烦和有问题的。

我可以使用 LOCAL_OVERRIDES_PACKAGES 删除 PRODUCT_PACKAGES 但这不适用于保存到 /system/vendor/bin 的共享库或复制到 [=16= 中的预建文件].

LOCAL_MODULE_TAGS 设置为包含 engdebug 的值的那些最烦人。

所以似乎没有任何灵丹妙药,这是我的策略:

  • 从一堆 makefile 中的 LOCAL_MODULE_TAGS 中删除 debugeng 标签(乏味但没有其他明显的选择)
  • 使用 ifneq ($(TARGET_VENDOR), mycompany) 删除添加到 PRODUCT_PACKAGES
  • 的内容