[myTouch 3G, Magic Android Development] slash12345:
It depends...

Hi - It depends on the rom you are using. I hope the following helps.

This is how I changed mine (you mentioned that you already have the animation):

(This will only work for Hero ROMs such as CaSense, MyHero, MLIGN. Will not work for CynanogenMod)

The bootscreen is stored in the /system/media/bootscreen folder. I suggest you open up the rom zip file to see the files in this folder. The file boot_animation.xml defines the animation scheme.

You should scan through the file to find something like this:

<BootConfiguration>
<BootAnimation image="/system/media/bootscreen/hvga_android_006spf.gif"
image2="/system/media/bootscreen/hvga_htc_in_006spf.gif"
loopimage="/system/media/bootscreen/hvga_htc_loop_006spf.gif"
image_bg="/system/media/bootscreen/boot_bg.gif"
audio="/system/media/bootscreen/android_audio.mp3"
screenX="0"
screenY="55"
useAudio="1" />
</BootConfiguration>

"image" is the first animated image displayed (of what I have seen of the different ROMs, this usually has Google's Androids in some form or the other, either with a Hero written or without). "image2" is a static image (in my case, it shows a static HTC logo). "audio" is the sound that is played. "loopimage" is the animation (in my case, it showed the HTC logo with a flare running across"). The "loopimage" is the one that you have to change.

From here on you have two options:

1) More risky, but correct: Modify the boot_animation.xml file based on the above description, change the file to use your file (replace the filenames) and push into the system/media/bootscreen folder

Don't add the words in brackets:

adb remount (mount the root filesystem in read-write mode)
adb push boot_animation.xml /system/media/bootscreen (this assumes that the boot_animation.xml file is in the same folder as adb)
adb push nexus_animation.gif /system/media/bootscreen (replace nexus_animation.gif with whatever is the filename for the nexus one animation that you have. Also make sure that this is the name of the image in boot_animation.xml)

2) Less risky, but its more of a workaround: In the boot_animation.xml file, check the name of the image under the "loopimage" tag (in the above case it is hvga_htc_loop_006spf.gif). Then make a backup of this image, and then replace this file with the nexus animation.

Don't add the words in brackets:

adb pull system/media/bootscreen/hvga_htc_loop_006spf.gif (backup)
ren hvga_htc_loop_006spf.gif backup_animation.gif (rename)
ren nexus_animation.gif hvga_htc_loop_006spf.gif (assuming that the nexus_animation.gif is in the same folder)
adb remount (mount the root filesystem in read-write mode)
adb push hvga_htc_loop_006spf.gif system/media/bootscreen/

The advantage with this method is that if something goes wrong, the android bootup will be displayed, instead of the nexus animation, and we have not modified the boot_animation.xml file in anyway. So chances of screw-ups are low.

In either case, restart the phone and you should see the nexus animation.

Obligatory warning: Though I can confirm this has worked, I will not take responsibility for any bricked phones, however remote the possibility for this to happen as you are not making any big changes.

Best of luck!

Slash