Android 系统应用overlay打包机制
通过overlay配置,可实现覆盖同包名应用下的资源:
将 res、Android.mk、AndroidManifest.xml 放在同级目录,放在系统源码中打包
Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_SDK_VERSION := current
LOCAL_PACKAGE_NAME := MFactoryToolOverlay
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/overlay
LOCAL_CERTIFICATE := shared
LOCAL_AAPT_FLAGS := --auto-add-overlay
include $(BUILD_PACKAGE)
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.xxx.overlay"> <!--指定overlay应用包名-->
<overlay
android:priority="1"
android:isStatic="true"
android:targetPackage="com.xxx.xxx" />
</manifest>
res 下存放资源文件,与常规同包名应用保持一致即可覆盖

本文介绍了Android系统应用的overlay打包机制,通过在系统源码中设置overlay目录,可以实现对同包名应用资源的覆盖。具体操作包括放置res、Android.mk和AndroidManifest.xml在同级目录,并详细说明了如何配置Android.mk和资源文件。
1420

被折叠的 条评论
为什么被折叠?



