需求
客户对于定制系统会要求使用自己的启动logo和开机动画
一、修改开机logo
1.开机logo
开机logo主要与kernel/drivers/video/logo下的logo_linux_clut224.ppm有关。
现kernel源码内一般以提供厂商的logo为主。
我们需要替换的文件也就是该ppm文件。
2.制作ppm
这里直接提供png转ppm的sh脚本。前提是必须安装了以下工具(pngtopnm,pnmquant,pnmtoplainpnm)
./png2ppm.sh XX.png
echo "$1"
pngtopnm $1 > logo.pnm
pnmquant 224 logo.pnm > logo_linux.pnm
pnmtoplainpnm logo_linux.pnm > logo_linux_clut224.ppm
rm *.pnm
3.替换ppm文件
用生成的同名ppm文件替换logo_linux_clut224.ppm。
同时删除kernel/drivers/video/logo下的logo_linux_clut224.c和logo_linux_clut224.o
4.重新编译kernel,打包新固件
二、修改开机动画
Android开机动画主要是由一个zip格式的压缩包bootanimation.zip组成,压缩包里面包含数张png格式的图片,还有一个desc.txt的文本文档,开机时按desc.txt里面的指令,屏幕上会按文件名称顺序连续的播放一张张的图片。、
1.制作帧动画
这个一般flash制作或者选择交给美工制作了。图片张数尽量不要太多。
关键:图片一定要按顺序命名。
帧动画.png
2.desc.txt文件
1188 624 25
p 1 0 part0
p 0 0 part0
重点在于desc.txt文件。
其中1188 624代表分辨率,表示帧动画以这个分辨率显示。分辨率不是越高越好,容易造成开机卡顿,不流畅。
25表示的是帧数,就是每秒播放的图片数量。
p1(代表着播放一次) 0(空指令)part0 */这句指令就代表这part0文件夹内的图片只按名称顺序播放一次
p0(重复播放)0 (空指令)part1 */这一句指令代表着part1文件夹内的图片会循环反复播放
3.打包成压缩文件
打包要用zip格式,而不是rar格式。另外压缩的时候压缩方式要选择存储。将压缩包名修改为bootanimation.zip。
4.使用验证开机动画
1)可直接将生成的bootanimation.zip放入设备/system/meida目录下重启验证开机动画效果。
2)源码上可直接将bootanimation.zip拷贝至/out/target/product/rk3288/system/media目录下,最终打包进成型固件中。
网友评论