修改Android開機(jī)畫面
Android系統(tǒng)開機(jī)動畫包括兩部分:,開機(jī)顯示的 ANDROID 文字;,ANDROID發(fā)光動畫。
這篇文章說的開機(jī)動畫是***種,下面開始正文!
1. 制作當(dāng)前屏幕像素的圖片(模擬器默認(rèn)為320*480)
使用PS制作一張320*480的圖片,保存時(shí)選“保存為 Web 所用格式”,然后在彈開的窗口上,“預(yù)設(shè)”項(xiàng)選擇“PNG-24”,保存為android_logo.png
注:好像只支持png-24,其他格式生成的rle文件顯示不正常,有興趣大家可以再驗(yàn)證一下。
2. 將圖片轉(zhuǎn)換為raw格式
使用linux下的ImageMagick自帶的convert命令,進(jìn)行raw格式轉(zhuǎn)換,命令為:
convert -depth 8 android_logo.png rgb:android_logo.raw
注:ubuntu 10.04 默認(rèn)已經(jīng)安裝ImgageMagick工具,如果當(dāng)前系統(tǒng)沒有安裝,可以執(zhí)行下面的命令安裝:
sudo apt-get install imagemagick
3. 將raw格式轉(zhuǎn)化為rle文件
需要用到android編譯后的rgb2565工具,在android/out/host/linux-x86/bin目錄下(android為當(dāng)前源碼所在目錄),轉(zhuǎn)換命令如下:
rgb2565 -rle < android_logo.raw > initlogo.rle
到目前為止,啟動需要顯示的圖像已經(jīng)做好了,就是initlogo.rle,注意文件名必須是這個(gè),如果想改文件名,需要修改android/system/core/init/init.h中的宏:
#define INIT_IMAGE_FILE "/initlogo.rle"
下面需要將initlogo.rle加入的android文件系統(tǒng)中
4. 找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),將文件名改為ramdisk.img.gz,然后使用下面的命令解壓:
- gunzip ramdisk.img.gz
解壓后得到ramdisk.img,可能有人要問,怎么文件名又改回去了?其實(shí)不然,使用file ramdisk.img查看一下就知道了:
解壓前:ramdisk.img: gzip compressed data, from Unix
解壓后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
5. 使用cpio提取文件:
新建一個(gè)temp目錄:
- mkdir temp
- cd temp
- cpio -i -F ../ramdisk.img
6. 導(dǎo)出文件列表:
- cpio -i -t -F ../ramdisk.img > list
注:list是一個(gè)文本文件,里面存儲了ramdisk.img的文件結(jié)構(gòu),我們需要在這個(gè)文件中加入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
注:根據(jù)list文件的描述,生成ramdisk.img文件
8. 用ramdisk.img覆蓋sdk目錄下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),***先備份一下。
9. 啟動模擬器,就可以看到我們自己做的的開機(jī)界面了
【編輯推薦】