首先找到内置应用Android.mk文件的LOCAL_MODULE内容,比如:

LOCAL_PATH := $(call my-dir)
  
include $(CLEAR_VARS)
LOCAL_MODULE := TTS
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := TTS.apk
LOCAL_PREBUILT_JNI_LIBS:= libtts_android_neon.so
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
1
2
3
4
5
6
7
8
9
10
11

LOCAL_MODULE即为TTS,如果我们要删除这个TTS的内置应用,则:

修改文件: /device/sprd/sharkle/sl8541e_su808/sl8541e_su808_Natv.mk

DELETE_PACKAGE_LIST += \
    TTS
1
2

增加要删除的内置应用

修改文件: /build/make/core/main.mk

增加删除内置应用的相应脚本

      $(warning $(ALL_MODULES.$(m).MAKEFILE): Module '$(m)' in PRODUCT_PACKAGES_TESTS has nothing to install!)))
endif

+ ifdef DELETE_PACKAGE_LIST
+ modules_to_install := $(filter-out $(foreach pkg, $(DELETE_PACKAGE_LIST), $(pkg) %/$(pkg).apk  %/$(pkg).odex  %/$(pkg).vdex), $(modules_to_install))
+ endif

# build/make/core/Makefile contains extra stuff that we don't want to pollute this
# top-level makefile with.  It expects that ALL_DEFAULT_INSTALLED_MODULES
# contains everything that's built during the current make, but it also further
# extends ALL_DEFAULT_INSTALLED_MODULES.
ALL_DEFAULT_INSTALLED_MODULES := $(modules_to_install)
include $(BUILD_SYSTEM)/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13