1 原理
主要是以 系统编译 和配置为主。
2 解决方案(Android O)
这里以在系统中构建一个新的资源:system/etc/cursor.png为例 进行说明
创建文件 frameworks/base/data/etc/cursor.png,并修改文件frameworks/base/data/etc/Android.mk,文件修改如下:
@@ -39,3 +39,12 @@ LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
+
+########################
+include $(CLEAR_VARS)
+LOCAL_MODULE := cursor.png
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
此时就可以直接编译 并且在out目录下看到生成的system/etc/cursor.png 文件了。但在整体编译时还是不会有 该文件的出现,接下来我们对 编译和拷贝文件进行配置:
在文件 build/make/target/product/base.mk 中 做如下修改:
@@ -116,6 +116,7 @@ PRODUCT_PACKAGES += \
netd \
ping \
ping6 \
+ cursor.png \
platform.xml \
privapp-permissions-platform.xml \
pppd \在文件 build/make/target/product/sdk_base.mk 中 做如下修改:
@@ -105,7 +105,8 @@ PRODUCT_COPY_FILES := \
frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \
frameworks/native/data/etc/android.software.autofill.xml:system/etc/permissions/android.software.autofill.xml \
frameworks/av/media/libeffects/data/audio_effects.conf:system/etc/audio_effects.conf \
- device/generic/goldfish/audio_policy.conf:system/etc/audio_policy.conf
+ device/generic/goldfish/audio_policy.conf:system/etc/audio_policy.conf \
+ frameworks/base/data/etc/cursor.png:system/etc/cursor.png
include $(SRC_TARGET_DIR)/product/emulator.mk
版权声明:本文为vviccc原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。