修改 Android開機畫面 Android系統開機動畫包括兩部分: 開機顯示的 ANDROID 文字; ANDROID發光動畫。 這篇文章說的開機動畫是第一種,下面開始本文! 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" 下面需要將initlogo.rle加入的android檔案系統中 4. 找到ramdisk.img檔案(android/out/target/product/generic/ramdisk.img),將檔案名稱改為 ramdisk.img.gz,然後使用下面的命令解壓: gunzip ramdisk.img.gz 解壓後得到 ramdisk.img,可能有人要問,怎麼檔案名稱又改回去了?其實不然,使用file ramdisk.img查看一下就知道了: 解壓前:ramdisk.img: gzip compressed data, from Unix 解壓後:ramdisk.img: ASCII cpio archive (SVR4 with no CRC) 跑題了,還是說正事兒。 5. 使用cpio提取檔案: 建立一個temp目錄: mkdir temp cd temp cpio -i -F ../ramdisk.img 6. 匯出檔案清單: cpio -i -t -F ../ramdisk.img > list 註:list是一個文字檔,裡面儲存了ramdisk.img的檔案結構,我們需要在這個檔案中加入initlogo.rle這一行,修改後的檔案如下: data default.prop dev init init.goldfish.rc init.rc initlogo.rle proc sbin sbin/adbd sys system 7. 產生ramdisk.img cpio -o -H newc -O ramdisk.img < list 註:根據list檔案的描述,產生ramdisk.img檔案 8. 用ramdisk.img覆蓋sdk目錄下的ramdisk.img(android-sdk-windows/platforms/android- 2.1/images/ramdisk.img),最好先備份一下。 9. 啟動模擬器,就可以看到我們自己做的的開機介面了。