Android_Logo_Bootanimation
开机LOGO
A133
K5/K5C
longan/device/config/chips/a133/configs/c3/android/bootlogo.bmp
H618
K2B/K2C
longan/device/config/chips/h618/boot-resource/boot-resource/bootlogo.bmp
RK3562/RK3568/RK3588
K1/K1B/K3/K8
kernel-5.10/logo.bmp kernel-5.10/logo_kernel.bmp
RK3576
K7/K7C
kernel-6.1/logo.bmp kernel-6.1/logo_kernel.bmp
rockchip 平台区分 Uboot、Kernel两个阶段显示LOGO,logo.bmp 为Uboot阶段,logo_kernel.bmp为Kernel阶段;
LOGO的分辨率必须小于显示屏的分辨率
图片格式需要和原本的LOGO图片格式一致,bmp、bit 位深
开机动画
A133
K5/K5C
android/device/softwinner/ceres-c3/media/bootanimation.zip
H618
K2B/K2C
device/softwinner/apollo/common/media/bootanimation/bootanimation.zip
RK3562/RK3568/RK3576/RK3588
K1/K1B/K3/K7/K7C/K8
device/rockchip/common/bootshutdown/bootanimation.zip
Android 支持 bootanimation.mp4 以及 bootanimation.zip 两种文件格式的开机动画
已知问题:mp4格式开机动画 系统第一次上电启动会显示安卓开机动画
两种文件同时存在播放 mp4 优先级比 zip 高 ,具体优先级见 frameworks/base/cmds/bootanimation/BootAnimation.cpp
A133 开机动画
第一步,替换源码动画;
android/device/softwinner/ceres-c3/media/bootanimation.zip
第二步,确认动画文件拷贝方式;
bootanimation.zip 格式
$ vim android/device/softwinner/ceres-c3/ceres_c3.mk
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/media/bootanimation.mp4:system/media/bootanimation.mp4
+ $(LOCAL_PATH)/media/bootanimation.zip:system/media/bootanimation.zip
bootanimation.mp4 格式
$ vim android/device/softwinner/ceres-c3/ceres_c3.mk
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/media/bootanimation.zip:system/media/bootanimation.zip
+ $(LOCAL_PATH)/media/bootanimation.mp4:system/media/bootanimation.mp4
A133 开机音乐定制
如需开机音乐,将开机音乐放入part0目录中,命名为Audio.wav。
在根目录加入audio_conf.txt,复制原有动画配置即可。
part0/audio.wav
audio_conf.txt
H618 开机动画
第一步,存放动画文件(zip 或 mp4 格式)
device/softwinner/apollo/common/media/bootanimation/bootanimation.zip
device/softwinner/apollo/common/media/bootanimation/bootanimation.mp4
第二步,修改编译配置
bootanimation.zip 格式
SDK$ vim device/softwinner/apollo/common/media/config.mk
PRODUCT_COPY_FILES += \
- $(BOOTANIMATION_CONFIG_PATH)/bootanimation.mp4:system/media/bootanimation.mp4
+ $(BOOTANIMATION_CONFIG_PATH)/bootanimation.zip:system/media/bootanimation.zip
bootanimation.mp4 格式
SDK$ vim device/softwinner/apollo/common/media/config.mk
PRODUCT_COPY_FILES += \
- $(BOOTANIMATION_CONFIG_PATH)/bootanimation.zip:system/media/bootanimation.zip
+ $(BOOTANIMATION_CONFIG_PATH)/bootanimation.mp4:system/media/bootanimation.mp4
RK3562/RK3568/RK3576/RK3588 开关机动画
开机动画放到指定目录
(SDK)$ ls device/rockchip/common/bootshutdown/bootanimation.zip
关机动画存放指定目录
(SDK)$ ls device/rockchip/common/bootshutdown/shutdownanimation.zip
打开配置
(SDK)$ vim device/rockchip/common/BoardConfig.mk
-BOOT_SHUTDOWN_ANIMATION_RINGING ?= false
+BOOT_SHUTDOWN_ANIMATION_RINGING ?= true
动画拷贝实现
(SDK)$ cat device/rockchip/common/bootshutdown/bootshutdown.mk
CUR_PATH := device/rockchip/common/bootshutdown
HAVE_BOOT_ANIMATION := $(shell test -f $(CUR_PATH)/bootanimation.zip && echo yes)
HAVE_SHUTDOWN_ANIMATION := $(shell test -f $(CUR_PATH)/shutdownanimation.zip && echo yes)
ifeq ($(HAVE_BOOT_ANIMATION), yes)
PRODUCT_COPY_FILES += $(CUR_PATH)/bootanimation.zip:$(TARGET_COPY_OUT_SYSTEM)/media/bootanimation.zip
endif
ifeq ($(HAVE_SHUTDOWN_ANIMATION), yes)
PRODUCT_COPY_FILES += $(CUR_PATH)/shutdownanimation.zip:$(TARGET_COPY_OUT_SYSTEM)/media/shutdownanimation.zip
endif
bootanimation.zip 定制
文件结构
$ zipinfo bootanimation.zip
part0/
part0/0000.png
part0/0001.png
part0/0002.png
...
part1
part1/0013.png
part1/0014.png
part1/0015.png
...
audio_conf.txt
desc.txt
bootanimation.zip 包含 part0 part1 文件夹和 desc.txt 文件,part0 part1 等文件夹里面放的是动画拆分的图片,格式为 png。
desc.txt 配置文件
800 480 15
p 1 0 part0
p 0 0 part1
第一行
WIDTH HEIGHT FPS
WIDTH 800 图片的宽度
HEIGHT 480 图片的高度
FPS 15 帧数
第二、三行
TYPE COUNT PAUSE PATH
TYPE p 播放直到开机完成
COUNT 1 播放次数,0代表无线循环直到开机结束
PAUSE 0 part结束后暂停帧数
PATH part1 路径
最后一行需为空行
window 压缩打包zip
左键选中 part0、part1、desc.txt等文件;(保证part0、part1等文件位于压缩包根目录级别)
右键选择压缩,选择其他;
进行ZIP压缩,压缩标准需要选择 Store;

Linux 压缩打包zip
linux 压缩,指定压缩等级为最低等级stored,只归档不压缩
$ zip -0qry bootanimation.zip *.txt part0/ part1/
注意压缩包下 part0 part1 txt 为同一级根目录
ADB替换开机动画
Android 支持在线替换开机动画
$ adb root
$ adb remount
$ adb push $(bootanimation_path) /system/media/bootanimation.zip
$ adb reboot
Last updated