Android Framework 常见解决方案(03)android系统 资源文件添加

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版权协议,转载请附上原文出处链接和本声明。