去掉不用的系统APP

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去掉,然后编译烧录到板子就可以了

猜你喜欢

转载自blog.csdn.net/weixin_68294039/article/details/129932569