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檔案