How to create a custom boot animation for my Android device?

My device is an HTC HD2 with Cyanogen Mod 7 installed.

  • 1
    The process for this is very device-specific. Please add what device you have to the question. Apr 7, 2011 at 16:09
  • @Matthew Sorry, I thought it was more or less standard. I updated my question.
    – Drake
    Apr 7, 2011 at 18:52

1 Answer 1


A boot animation is a series of images (frames) in a folders (parts). There is a text file (desc.txt) that defines the parts, the frame rate, and how many times it loops.

A desc.txt looks like this:

480 427 30
p 1 0 part0
p 0 10 part1

The first like is the height and width, then the number of frames per second the next 2 lines define the parts that will "play".

the "p" indicates the line is a "part" the next digit is the number of times to repeat, 0 = infinite next is the pause, this is the delay before it starts the next "part" (or frame if looping) after the last frame in the part completes. finally, is the name of the part (the folder name where the frames are)

inside each part your png images will "play" in order, so what ever you name them, just make sure they are ordered how you want them to "play". For example, frame001.png, frame002.png. I added the extra 0's because if i have more then 10 frames, the order may be mixed up.

The boot animation is then put in a zip archive with "store" compression, with desc.txt at the root of the archive.

The file is named bootanimation.zip, and placed in /system/media/ (you need to remount as rw) or you can place it in /data/local on some devices (should work on CM7).

When the boot animation is in /data/local, it will take precedence over /system/media, this way the "default" can stay on the device unharmed.

  • You're not the first to tell it should be PNG images, but when I look at my bootanimation.zip file on CM9, it contains JPG images. This is way sub-optimal, as compression alters quality image drastically, but anyway, at least it is good to know that JPG is an option... Nov 14, 2012 at 12:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .