修改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. 啟動模擬器,就可以看到我們自己做的的開機界面了。

关注微信公众号

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com