Android Logo and Bootanimation
Boot Logo
Note
- Rockchip series displays the LOGO in two stages: Uboot and Kernel.
logo.bmpis for the Uboot stage, andlogo_kernel.bmpis for the Kernel stage.- LOGO resolution must be less than the display resolution.
- The format of customized LOGO must be consistent with the original LOGO image format, e.g., bmp, bit depth, and other parameters.
| Main Control | Models | LOGO Path |
|---|---|---|
| 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 |
| T527 | K9 | longan/device/config/chips/t527/boot-resource/boot-resource/bootlogo.bmp |
Boot Animation
Note
- Android supports two kinds of boot animation, boot video or boot animation file:
bootanimation.mp4andbootanimation.zip.- When configure using mp4 format boot video, after image installing or factory reset,the Android boot animation will be displayed instead of customized boot video, later boot up will display customized boot video .
- When both files exist, mp4 has higher priority than zip. boot animation zip will be skipped. For specific priority, see
frameworks/base/cmds/bootanimation/BootAnimation.cpp.
| Main Control | Models | Boot Animation Path |
|---|---|---|
| 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 |
| T527 | K9 | device/softwinner/saturn/t527-demo/media/bootanimation/bootanimation.zip |
A133 Boot Animation
- Replace animation in source code:
- add animation file copy instruction in mk:
bootanimation.zip format
--- a/android/device/softwinner/ceres-c3/ceres_c3.mk
+++ b/android/device/softwinner/ceres-c3/ceres_c3.mk
PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/media/bootanimation.zip:system/media/bootanimation.zip
bootanimation.mp4 format
Note
For K5C using mp4 format, it needs to be renamed to boot.mp4 (K5C is the board model).
--- a/android/device/softwinner/ceres-c3/ceres_c3.mk
+++ b/android/device/softwinner/ceres-c3/ceres_c3.mk
PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/media/bootanimation.mp4:system/media/bootanimation.mp4
A133 Boot Music Customization
If boot music is needed, place the boot music file in the part0 directory and name it Audio.wav. Add audio_conf.txt to the root directory and copy the original animation configuration.
H618 Boot Animation
- Store the animation file (zip or mp4 format):
device/softwinner/apollo/common/media/bootanimation/bootanimation.zip
device/softwinner/apollo/common/media/bootanimation/bootanimation.mp4
- Add copy instruction in mk:
bootanimation.zip format
--- a/device/softwinner/apollo/common/media/config.mk
+++ b/device/softwinner/apollo/common/media/config.mk
PRODUCT_COPY_FILES += \
+ $(BOOTANIMATION_CONFIG_PATH)/bootanimation.zip:system/media/bootanimation.zip
bootanimation.mp4 format
--- a/device/softwinner/apollo/common/media/config.mk
+++ b/device/softwinner/apollo/common/media/config.mk
PRODUCT_COPY_FILES += \
+ $(BOOTANIMATION_CONFIG_PATH)/bootanimation.mp4:system/media/bootanimation.mp4
RK3562/RK3568/RK3576/RK3588 Boot/Shutdown Animation
Boot animation location:
Shutdown animation location:
Enable configuration:
--- a/device/rockchip/common/BoardConfig.mk
+++ b/device/rockchip/common/BoardConfig.mk
-BOOT_SHUTDOWN_ANIMATION_RINGING ?= false
+BOOT_SHUTDOWN_ANIMATION_RINGING ?= true
Animation copy implementation:
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 Customization
File Structure
Tip
bootanimation.zip contains the part0, part1 folders and the desc.txt file. The part0 and part1 folders contain the split images of the animation, in png format.
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
desc.txt Configuration File
Note
Command parsing:
1. WIDTH: 800 is the image width; HEIGHT: 480 is the image height; FPS: 15 is the animation frame rate.
2. TYPE: p means play until boot completes; COUNT: 1 is the number of playbacks, 0 means infinite loop until boot ends; PAUSE: 0 is the number of frames to pause after the part ends; PATH: part1 path.
3. The last line of the command must be an empty line.
Windows Zip Compression/Packaging
- Select the part0, part1, desc.txt, and other files for compression (ensure part0, part1, and other files are at the root level of the zip archive).
- Choose the Store compression method.

Linux Zip Compression/Packaging
Tip
Ensure part0, part1, and txt files are at the same root level inside the zip.
Linux compression, specify the lowest compression level stored, which only archives without compression.
Replacing Boot Animation
For debugging purpose, replacing the boot animation in /system.
Tip
It's not recommended to use remount way to update anything in /system. This action works but will let OTA fail, cause it might change dynamic partition.so DON'T use remount in production env.
Operation Example: Replace the file to the specified path on the board via ADB.