Android版本:8.1
一丶开机logo的替换
开机logo有kernel logo和uboot logo两个
如何找到对应的图片?
-
确认当前项目的设备使用的是哪种尺寸的logo
一般在对应项目的ProjectConfig.mk
文件里可以找到
例如:BOOT_LOGO = hd720
-
找到vendor\mediatek\proprietary\bootable\bootloader\lk\dev目录
里面有很多尺寸的logo目录
找到对应的目录就能看到对应的logo图片
替换对应的 kernel 和 uboot logo
需要注意 尺寸大小和图片格式对应,否则可能失败
二丶开机动画的替换
系统开机动画引用的是bootanimation.zip
这个文件存在设备的system/media/目录下
源码里需要在makefile里指定bootanimation.zip 拷贝到system/media下
PRODUCT_COPY_FILES += \
device/xxx/xxx/bootanimation.zip:system/media/bootanimation.zip
或者用makefile 把bootanimation.zip编译成模块,然后加载这个模块
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := bootanimation.zip
LOCAL_MODULE_CLASS := media
LOCAL_MODULE_PATH := $(TARGET_OUT)/media
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
PRODUCT_PACKAGES += \
bootanimation.zip \
三丶bootanimation.zip制作过程需要注意的点:
-
把我们的开机动画分解成一张张的
图片
,放到目录里,然后打包成zip,打包的时候要在三个文件这级目录打包,把三个文件一起打包
-
打包的时候要选压缩方式为
存储压缩
-
desc.txt的格式
480 854 24
p 1 0 folder1
p 2 20 folder2
第一行,480 854
指的是系统的屏幕宽 高
,24
指的是动画每秒播放24帧,大于24帧动画肉眼看不出卡顿
第二行,第一个参数1
表示循环次数,如果是0,表示无限循环播放,第二个参数0
表示两次循环播放之间的时间间隔,0表示不暂停的循环下一次。第三个参数,指的是文件夹的名字
。
p
的意义看这个博客–>开机动画desc.txt描述文件的分析