Quick hack: Changing the Android boot animation

Posted on 21/04/2017 by Robert Foss

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.

Structure of bootanimation.zip

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

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.

Switch bootanimation

Download bootanimation.zip.

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



bootanimation documentation


This post has been a part of work undertaken by my employer Collabora.


Original post

Comments (0)

Add a Comment

Allowed tags: <b><i><br>Add a new comment:

Latest Blog Posts

Who knew we still had low-hanging fruit?


Earlier this month I had the pleasure of attending the Web Engines Hackfest, hosted by Igalia at their offices in A Coruña, and also sponsored…

Performance analysis in Linux (continued)


In this post, I will show one more example of how easy it is to disrupt performance of a modern CPU, and also run a quick discussion on…

XDC 2017 - Links to recorded presentations (videos)


Many thanks to Google for recording all the XDC2017 talks. To make them easier to watch, here are direct links to each talk recorded at…

DebConf 17: Flatpak and Debian


Last week, I attended DebConf 17 in Montréal, returning to DebConf for the first time in 10 years (last time was DebConf 7 in Edinburgh).…

Android: NXP i.MX6 on Etnaviv Update


More progress is being made in the area of i.MX6, etnaviv and Android. Since the last post a lot work has gone into upstreaming and stabilizing…

vkmark: more than a Vulkan benchmark


Ever since Vulkan was announced a few years ago, the idea of creating a Vulkan benchmarking tool in the spirit of glmark2 had been floating…

Open Since 2005

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2017. All rights reserved. Website sitemap.