Robert Foss
April 21, 2017
Reading time:
For various reasons you might want to change the Android boot animation to something other than the stock one, this is how you do it.
There exists official documentation for how to create a custom boot animation, but unfortunately it is lacking in actual examples.
So this guide is a bit more hands-on.
Without covering too much of the same gound as the documentation, let's have a quick look at what is in a simple bootanimation.zip.
$ ls -la bootanimation total 28 drwxr-xr-x 4 hottuna hottuna 4096 Apr 19 22:39 . drwxr-xr-x 8 hottuna hottuna 4096 Apr 19 22:39 .. -rw-r--r-- 1 hottuna hottuna 92 Apr 19 15:21 desc.txt drwxr-xr-x 2 hottuna hottuna 4096 Apr 19 12:44 part0 drwxr-xr-x 2 hottuna hottuna 4096 Apr 19 12:45 part1 $ cat bootanimation/desc.txt 1920 1080 30 # WIDTH HEIGHT FPS c 5 15 part0 FFFFFF # TYPE COUNT PAUSE PATH [#RGBHEX] [CLOCK] c 5 15 part1 FFFFFF # TYPE COUNT PAUSE PATH [#RGBHEX] [CLOCK] ls -la bootanimation/part0 total 28 drwxr-xr-x 2 hottuna hottuna 4096 Apr 19 12:44 . drwxr-xr-x 6 hottuna hottuna 4096 Apr 19 15:40 .. -rw-r--r-- 1 hottuna hottuna 10688 Apr 19 12:31 0000.png -rw-r--r-- 1 hottuna hottuna 10688 Apr 19 12:31 0001.png -rw-r--r-- 1 hottuna hottuna 10688 Apr 19 12:31 0002.png -rw-r--r-- 1 hottuna hottuna 10688 Apr 19 12:31 0003.png -rw-r--r-- 1 hottuna hottuna 10688 Apr 19 12:31 XXXX.png
Note that the "#" comments are mine and not actually present in the files.
An important thing to note with the zip file is needs to have compression turned off.
unzip bootanimation.zip cd bootanimation # Edit desc.txt and partN folders to your needs zip -0qry -i \*.txt \*.png \*.wav @ ../bootanimation.zip *.txt part* # Option 1, use adb to send bootanimation.zip adb root adb remount adb push bootanimation.zip /system/media/bootanimation.zip # Option 2, bake bootanimation.zip into your AOSP build cp bootanimation.zip /opt/aosp/out/target/product/linaro_arm/system/bootanimation.zip ./your_favorite_buildscript_here.sh
This post has been a part of work undertaken by my employer Collabora.
31/10/2025
Collabora has advanced Monado's accessibility by making the OpenXR runtime supported by Google Cardboard and similar mobile VR viewers so…
27/10/2025
By resolving critical synchronization bugs in Zink’s Vulkan–OpenGL interop, Faith Ekstrand paved the way for Zink+NVK to become the default…
25/09/2025
Abandoned vendor-provided BSP roadblocks can be overcome when mainline Open Source projects like the Linux kernel are integrated directly.…
06/08/2025
This second post in the Tyr series dives deeper into GPU driver internals by using the Vulkan-based VkCube application to explain how User…
22/07/2025
Getting into kernel development can be daunting. There are layers upon layers of knowledge to master, but no clear roadmap, especially when…
15/07/2025
This past May, we met with the community at the GStreamer Spring Hackfest in Nice, France, and were able to make great strides, including…
Comments (0)
Add a Comment