炒沙作縻终不饱,缕冰文章费工巧。这篇文章主要讲述Android:裁剪系统预置应用相关的知识,希望能为你提供帮助。
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;
【Android(裁剪系统预置应用)】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 += DeviceTestPRODUCT_DEL_PACKAGES +=Browser2BasicDreamsCalendarCalendarProviderContactsDocumentsUIEmailExchange2
这样预置应用中就不会包含以上 PRODUCT_DEL_PACKAGES 添加这些。
推荐阅读
- Sapphire: Copying GC Without Stopping the World
- Android的四大组件及Activity 的生命周期 及五种布局
- Android架构设计(会话管理)
- 应用程序池DefaultAppPool提供服务的进程关闭时间超过了限制的解决办法
- maven创建的quickstart 识别不到applicationContext.xml
- SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制
- Idea搭建SpringBoot时,SpringApplication.run报错
- This application failed to start because no Qt platform plugin could be initialized.
- SpringBoot——@SpringBootApplication注解分析