修改 Android 开机 LOGO

1. 制作 initlogo.rle

# 使用ImageMagick自带的convert命令,进行raw格式转换
convert -depth 8 logo.png rgb:logo.raw

# android自带的rgb2565工具,对raw文件进行rle565格式转换 
$out/host/linux-x86/bin/rgb2565 -rle <logo.raw >initlogo.rle   

#然后将initlogo.rle拷贝到android系统根目录,也就是root目录底下 
cp initlogo.rle out/target/product/Demo/root/ 

2. 相关的实现代码,摘自 Android 2.1 

// 启动时载入图像,如果没有找 INIT_IMAGE_FILE 到这个文件名的图片,
// 则打印 A N D R O I D 字样。
 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"
     "             A N D R O I D ";
     write(fd, msg, strlen(msg));
     close(fd);
 }
 }
//"system/core/init/init.c" 1039 行 --86%--

3. 图像文件名的指定

// 图像文件名宏的定义 INIT_IMAGE_FILE 

void queue_all_property_triggers();

#define INIT_IMAGE_FILE "/initlogo.rle"

int load_565rle_image( char *file_name );


// "system/core/init/init.h" 179 行 --100%--

你可能感兴趣的:(android,分析,initlogo.rle,开机logo)