前言
安卓系统裁剪预置应用或服务基本步骤
一、修改build目录main.mk
ifdef FULL_BUILD
# The base list of modules to build for this product is specified
# by the appropriate product definition file, which was included
# by product_config.mk.
product_MODULES := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES)
# Filter out the overridden packages before doing expansion
product_MODULES := $(filter-out $(foreach p, $(product_MODULES), \
$(PACKAGES.$(p).OVERRIDES)), $(product_MODULES))
#sheldon patch begin
product_MODULES := $(filter-out $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEL_PACKAGES), $(product_MODULES))
#sheldon patch end
根据 PRODUCT_DEL_PACKAGES
来过滤预置的app;
二、修改build目录product.mk
增加 PRODUCT_DEL_PACKAGES
属性使之生效,之后就可以在mk文件中使用了。
_product_var_list := \
...
PRODUCT_DEL_PACKAGES \
...
三、在.mk中使用PRODUCT_DEL_PACKAGES属性
例如在third_apps.mk文件中增加 PRODUCT_DEL_PACKAGES
PRODUCT_PACKAGES += DeviceTest
PRODUCT_DEL_PACKAGES += \
Browser2 \
BasicDreams \
Calendar \
CalendarProvider \
Contacts \
DocumentsUI \
Email \
Exchange2 \
这样预置应用中就不会包含以上 PRODUCT_DEL_PACKAGES
中囊括的app了。