How to customize your Android boot animation

This short tutorial helps you to create your own custom boot animation for Android. It requires an existing animation in form of several png files where each file represents one frame. To make an animation in linux you can use one of these editing applications: http://www.cyberciti.biz/faq/top5-linux-video-editing-system-software/. Most of those applications are also able to export to png file series.

Further details on this topic can be found at the xda-developers page: http://forum.xda-developers.com/showthread.php?t=1852621

1. Create a new directory "bootanimation"

2. Insert the parts of your animation in sub-directories (e.g. part0 part1 ...)

3. Create an empty document named "desc.txt"

Write the description of your animation in there. Format:
<width in px> <height in px> <fps>
( (p|c) <no of repeat (0=inf)> <pause in seconds> <folder name> )+

<folder name> ... one of the sub-directories you created in step 2

example file
480 180 10
p 1 0 part0
c 0 0 part1

This example animation consists of three parts and runs on a rate of 10 frames per second. The first part of the animation runs only once at the beginning. Part1 will start afterwards and runs during the complete boot up phase.

4. Zip file

Create a uncompressed zip file from all files inside the "bootanimation" directory:
$ zip -r -0 bootanimation.zip desc.txt part0 part1 part2

5. Put the bootanimation.zip file to your phone

The animation is located on the system partition under /system/media/bootanimation.zip. To change the existing bootanimation with your newly created zip file you require root access to your device as you will have to remount the system partition (system partition is mounted as a read-only filesystem in the standard configuration). Remount it first as read-write:
$ adb shell
$ su
$ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Now you can push it to the device:
$ adb push bootanimation.zip system/media/

5.1 (Optional) Add it to your build system
In certain build systems (cm) you can copy the bootanimation.zip to your source build folder under:
vendor/<vendor>/prebuilt/bootanimations/