Android系统开机通过源码可以发现一般会有3个动画界面进行加载:linux内核启动动画、Android平台初始化动画、开机动画。一般的我们能看到的就是Android平台初始化动画和开机厂商定制动画。如下看下,如何去修改这三个动画。

修改Linux启动动画
向framebuffer中写入数据,inux Kernel引导启动后,加载该图片,涉及到的代码在如下的目录中:
/kernel/trunk/drivers/video/fbmem.c
/kernel/trunk/drivers/video/fbmem.h
/kernel/trunk/drivers/video/logo/logo.c
/kernel/trunk/drivers/video/logo/logo.h
/kernel/trunk/drivers/video/logo/Kconfig
/kernel/trunk/include/linux/linux_logo.h
让内核中添加此开机logo的步骤如下:
1、让内核支持启动LOGO, 在内核目录中执行:
# make menuconfig
Device Drivers—->Graphics support —>Bootup logo—>Standard 224-color Linux logo
2、制作开机logo图片
将要当作开机LOGO
的图片按照你屏幕的大小进行裁减,并将其保存为bmp
格式 或 png
格式; 例如linuxlogo.bmp
或 linuxlogo.png
。在linux
下输入以下命令(for bmp
):
#bmptoppm linuxlogo.bmp > linuxlogo.ppm //生成ppm
#ppmquant 224 linuxlogo.ppm > linuxlogo224.ppm //转换成224颜色
#pnmnoraw linuxlogo224.ppm > linuxlogo224.ppm //转换成ascii格式
// 在Linux下输入以下命令(for png):
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
注:上述命令需要安装netpbm的工具包
$sudo apt-get install netpbm
3、将LOGO文件放入内核中
拷贝到制作好的LOGO
文件到/drivers/video/logo
文件夹替换logo_linux_clut224.ppm
文件,还要删除该文件夹下的logo_linux_clut224.o
和logo_linux_clut224.c
。
4、重新编译内核
修改Android启动动画
相关的控制代码文件:
/system/core/init/init.c
/system/core/init/init.h
/system/core/init/init.rc
/system/core/init/logo.c
*.rle
文件的制作步骤:
1、制作当前屏幕像素的图片,保存为android_logo.png
(注:好像只支持png-24
,其他格式生成的rle
文件显示不正常,有兴趣大家可以再验证一下。)
2、将图片转化为raw格式
使用linux
下的ImageMagick
自带的covert
命令,进行raw格式转换,命令为:
# convert -depth 8 android_logo.png rgb:android_logo.raw
3、将raw
格式转化为rle
文,需要使用rgb2565
工具,转换命令为:
# rgb2565 -rle < android_logo.raw > initlogo.rle
4、将制作好的initlogo.rle
文件拷贝到android
系统的root
目录下,也就是out/target/product/..../root
下,最后编译成文件系统镜像xxx.img
重新烧写。
修改开机动画
- 具体的文件所在路径为:
androidsource/frameworks/base/cmds/bootaninamtion
- 具体图片文件所在路径为:
androidsource/frameworks/base/core/res/assets/images
示例如下:
480 800 15
p 1 0 part0
p 0 0 part1
具体的含义如下:
- 第一行: 480–图片宽度, 800–图片高度
15--fps
,帧数 p 1
:显示一次p 0
:重复显示知道动画结束
你可以制作自己的bootanimation.zip
文件放置在合适的目录下,这样可以代替默认的开机界面。常见过程如下:
1、创建一个bootanimation
文件夹
2、在bootanimation
文件夹中创建一个desc.txt
文件,一个part0
文件夹:

3、编写desc.txt
文件
1024 600 4
p 0 0 part0
4、制作动画图片添加到part0
文件夹

4、将bootanimation
文件夹打包成bootanimation.zip
文件
5、替换默认的bootanimation.zip
文件,重新烧录