android logo:内核、android开机动画
关键词:android 开机logo 开机动画 initlogo.rle bootanimation desc.txt
平台信息:
内核:linux2.6/linux3.0
系统:android/android
平台:S5PV310(samsungexynos4210/4412)
android开logo,这一块在工作改动的也是比较多的,也比较简单,不同的公司,不同型号的产品,开机的标识不一样。
我们平时目测的开机logo一般是两种:静态的和动画的。其实在实现logo的过程中,有四幅图片:(1)、uboot显示;(2)、kernel显示logo_linux_clut244.ppm;(3)、android第一幅intilogo.rle;(4)、android第二幅,bootanimation。前三幅一般我们做成相同的,(4)为动画显示。启动过程如下所示。
这篇重点说一下要用到的文件怎么生成,程序方面的就不再去深入,这一块的代码量也不小,一般不需要额什么改动。UBOOT的logo会影响开机的速度,我们也没有做这一块,UBOOT启动还是比较快,几秒钟的黑屏大家还是可以接受。下面从内核logo说起。
一、内核logo
1、内核目录中 make menuconfig
Device Drivers ---->Graphics support ---->Bootup logo ----> Standard 224-color Linux logo把开机LOGO图片保存为bmp或者png格式:如linux.png;linux.bmp通过linux工具把图片转化为:ppm格式。替换:driver/video/logo/logo_linux_clut244.ppm
下面命令需要安装netpbm的工具包 如果没有:sudo apt-get install netpbm
我做的实验,包括脚本可以在这里下载:android logo 脚本
(1)、png格式图片,执行下面命令
(1)、bmp格式的图片
脚本为kenrelLogo_bmp.sh
(3)、压缩包的结构:
①Part 这个文件夹中为我们所显示的png图片
②desc.txt中的内容我们要分析下,图片美工去做,我们要让正常显示就要在这里面写一些值。看下里面的内容
400 800 18p 1 0 part0#400 800 为图片的分辨率 400*800#18为每秒显示图片的张数,也就是18fps/S#p代表定义一个部分。#p后面的第一个数是重复播放这一部分次数。如果这个数为0,就无限循环播放#p后面第二个数是播放下一个部分前的延迟帧数#字符串定义了加载文件的路径