修改和制作 Android 开机 Logo(完整版)
日期:2012-02-15 作者:zhh
以下在Telechips tcc8923 上,用 Android4.0 的源码编译通过
1.bootloader 图片修改
bootable\bootloader\lk\platform\tcc_shared\include\lcd\logo.h 替换就行了
logo.h 的制作:准备一张图片,然后用 Img2Lcd 工具把图片转成 C 语言数组
注意:在使用 Img2Lcd 工具转换的图片最左边会有一条白边,把数组中前 8 个数值删除就不会有这样的情
况。仅仅支持.bmp 格式的文件
2.kernel 图片(linux logo)原来是没有的,需要先在 menuconfig 中加入配置 Device DriverGraphic
supportBootup Logo 中选中224 color
然后把自己的 LOGO (png-8 格式)转换成 ppm 格式,替换这个文件,同时删除 logo_linux_clut224.c
logo_linux_clut224.o 文件,重新编译。(/drivers/video/logo/logo_linux_clut224.ppm 是默认的启动 LOGO
图片格式为 ppm)
ppm 图片的生成:
# pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
# pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm (如果执行出错,可以省略)
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
注意:使用 pngtopnm ,pnmquant ,pnmtoplainpnm 工具前要先安装,在虚拟机下 sudo apt-get install
netpbm 这三个工具会安装好。
设置图片居中显示:
修改 drivers/video/fbmem.c
/*modified by creatory*/
// image.dx=0;
// image.dy=y;
image.dx=(info->var.xres/2)-(logo->width/2);
image.dy=(info->var.yres/2)-(logo->height/2);
在 drivers/video/console/fbcon.c 文件中的
logo_height=fb_prepare_logo(info,ops->rotate);
下面加入
logo_height += (info->var.yres/2)-(logo_height/2);
第三张图片:
这 张 图 片 是 水 果 的 图 片 加 入 的 logo 图 片 , 制 作 和 修 改 方 法 如 下 :
1). 制作当前屏幕像素的图片(模拟器默认为 1024*768)
使用 PS 制作一张 1024*168 的图片,保存时选“保存为 Web 所用格式”,然后在弹开的窗口上,“预设”项
选择“PNG-24”,保存为android_logo.png(
注:好像只支持 png-24,其他格式生成的 rle 文件显示不正常,有兴趣大家可以再验证一下。
2). 将图片转换为 raw 格式
使用 linux 下的 ImageMagick 自带的convert 命令,进行 raw 格式转换,命令为:
convert -depth 8 android_logo.png rgb:android_logo.raw
注:ubuntu 10.04 默认已经安装 ImgageMagick 工具,如果当前系统没有安装,可以执行下面的命令安装
:
sudo apt-get install imagemagick
3 ). 将 raw 格式转化为 rle 文件
需要用到 android 编译后的 rgb2565 工具,在 android/out/host/linux-x86/bin 目录下(android 为当前源码
所在目录),转换命令如下:
rgb2565 -rle < android_logo.raw > initlogo.rle
4 ).
修改:tcc8923device/telechips/m805_892x/device.mk
添加下面一行:
PRODUCT_COPY_FILES += \