1
在这里有两种方法:第一种是修改编译的makefile文件使用反过滤函数filter-out,该函数和“filter”函数实现的功能相反,用法如下:
$(filter-out PATTERN…,TEXT) `
-
功能:
过滤掉字串“TEXT”中所有符合模式“PATTERN”的单词,保留所有不符合此模式的单词。可以有多个模式。存在多个模式时,模式表达式之间使用空格分割。 -
返回值 :
空格分割的“TEXT”字串中所有不符合模式“PATTERN”的字串。 -
函数说明:
-
“filter-out”函数也可以用来去除一个变量中的某些字符串(实现和“filter”函数相反)。
第二种方式就是直接干掉编译该app的.mk文件或者.bp文件
2.
首先在build/core/main.mk中添加如下内容:
define product-installed-files
$(eval _pif_modules := \
$(call get-product-var,$(1),PRODUCT_PACKAGES) \
$(if $(filter eng,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_ENG)) \
$(if $(filter debug,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_DEBUG)) \
$(if $(filter tests,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_TESTS)) \
$(if $(filter asan,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_DEBUG_ASAN)) \
$(if $(filter java_coverage,$(tags_to_install)),$(call get-product-var,$(1),PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE)) \
$(call auto-included-modules) \
) \
$(eval ### Filter out the overridden packages and executables before doing expansion) \
$(eval _pif_overrides := $(call module-overrides,$(_pif_modules))) \
$(eval _pif_modules := $(filter-out $(_pif_overrides), $(_pif_modules))) \
+ $(eval ### remove package not needed) \
+ $(eval _pif_modules := $(filter-out $(PRODUCT_REMOVE_PACKAGES), $(_pif_modules))) \
再在device/rockchip/rk3566 /xxx/device.mk中添加如下内容:
PRODUCT_PACKAGES += thermasol
#add sensor hal
PRODUCT_PACKAGES += sensors.$(TARGET_BOARD_PLATFORM)
#add dfu-util
PRODUCT_PACKAGES += dfu_util
+ #packges needed to be removed
+ PRODUCT_REMOVE_PACKAGES += Camera2
我这里是要去掉camera app,然后编译烧录到板子就OK了,
3
直接将编译Camer2的Android.mk去掉,然后编译烧录到板子就可以了