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.
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…
03/07/2025
As part of the activities Embedded Recipes in Nice, France, Collabora hosted a PipeWire workshop/hackfest, an opportunity for attendees…
25/06/2025
In collaboration with Inria, the French Institute for Research in Computer Science and Automation, Tathagata Roy shares the progress made…
23/06/2025
Last month in Nice, active media developers came together for the annual Linux Media Summit to exchange insights and tackle ongoing challenges…
Comments (0)
Add a Comment