1.最开始显示的那个小logo
代码文件: system/core/init/init.c
if( load_565rle_image(INIT_IMAGE_FILE) ) {
fd = open("/dev/tty0", O_WRONLY);
if (fd >= 0) {
const char *msg;
msg = "\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n" // console is 40 cols x 30 lines
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
//" A N D R O I D ";
" R o c k c h i p R - B O X"; //此处修改logo
write(fd, msg, strlen(msg));
close(fd);
}
}
注意:这是改最开始的显示的那个小logo,修改之后会在gingerbread-itv-sdk-v1.02\out\target\product\sdkDemo\root目录下生成init文件,这个时候要烧boot才能生效
2.修改第二次显示的logo:
第一种方法://我没用过
1.请进入ANDROID的SDK包中的\build\tools\rgb2565执行 “gcc -O2 -Wall -Wno-unused-parameter -o rgb2565 to565.c”命令生成rgb2565文件,然后“sudo cp rgb2565 /bin/”.最后在根目录输入“ls -s /bin/rgb2565”.这样就可以在任何目录下执行
“rgb2565 -rle < android_logo.raw > initlogo.rle” 把RAW转换成RLE。
2.图片文件名称定义:图片需要将格式转换为 .rle
core/init/init.h: #define INIT_IMAGE_FILE "/initlogo.rle"
具体参考:
1. 制作当前屏幕像素的图片(模拟器默认为320*480)
使用PS制作一张320*480的图片,保存时选“保存为 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
到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必
须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的
宏:
#define INIT_IMAGE_FILE "/initlogo.rle"
第二种方法:
.另外一种方法是直接替换PNG文件。方法为: //我用的是这种方法,简单些
直接替换 “\gingerbread\frameworks\base\core\res\assets\images” 目录下的图片文件。默认是“android-logo-shine.png” 会在启动中不断滚动。详细运行方式请看“system/core/init/init.c”中的代码。
3.修改主界面中的logo
在gingerbread-itv-sdk-v1.02\packages\apps\InternetTv\res\drawable下替换logo.png文件