1.背景
在做TV屏保功能中,产品提出了一个神奇的需求:用户刷机后,不联网也可以启动屏保并显示自定义图片切换。屏保的图片来源是产品经理提供的40张图片,
经分析,这个需求只能是把图片预置到设备中,系统进入桌面后再去指定文件下读取图片,
2.修改源码,预置图片到系统
找到预置文件的地方:
源码: ..\mt9669-ad9.0\vendor\mediatek\proprietary_tv\open\product\m7642\preinstall
图一
图二
由图一可以看到开机动画也是采用预置的方式,
第一步:新建文件夹"wallpaper",里面是图片
第二步:很关键,具体拷贝过程
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/wallpaper/1,vendor/Pictures/1)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/wallpaper/2,vendor/Pictures/2)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/wallpaper/3,vendor/Pictures/3)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/wallpaper/4,vendor/Pictures/4)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/wallpaper/99,vendor/Pictures/99)
PRODUCT_COPY_FILES命令是用来拷贝文件的,代码编译后,这些图片就被预置到”vendor/Picture“下面了
但是系统app没有权限直接从vendor下读取文件,需要把文件拷贝到sdcard下,才能使用图片。