Android的應用分布在很多目錄中,如果去每個目錄下修改Android.mk文件就是一個比較大的工程,同時時間長了之后也記不清改過哪些文件了,現在提供一個簡便的裁剪預置應用的方法,步驟如下:
1. 修改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;
2.修改build目錄product.mk
增加PRODUCT_DEL_PACKAGES屬性使之生效,之后就可以在mk文件中使用了。
_product_var_list := \
...
PRODUCT_DEL_PACKAGES \
...
3.在.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 添加這些。