1. 程式人生 > >修改andorid開機LOGO及動畫

修改andorid開機LOGO及動畫

閒來無事,上網看了達人們修改開機LOGO和開機動畫不亦樂乎。自己也按耐不住寂寞,搗鼓了一把。

修改開機動畫

參考文件:

原理:

首先,開機動畫的地址:system\media\bootanimation.zip要修改開機動畫就是修改bootanimation這個檔案。如果說你的手機裡沒有這個檔案,那就是說明你用的是官方原始版本的rom,開機動畫沒有被修改過,但這不礙事,沒有就放一個進去,到時候想換回最原始的開機畫面,也可以把bootanimation這個檔案刪了。官方最原始的開機動畫在system\ framework\framework-res.apk\assets\images裡面。

Ø         模擬器修改

先上網下載yaffs2img瀏覽器20.exe,本文結尾附件中有,已經驗證使用沒有問題。

驗證碼是

使用者名稱:樂之家(春節快樂)    

註冊碼:C0A4DF124620713C0A51A718071FF0C01E86E177D7

找到你的模擬器的image資料夾

 

yaffs2img瀏覽器20.exe開啟你的system.img

media資料夾中放入你製作好的bootanimation.zip開機動畫壓縮包(見文章結尾附件)

 

把儲存的img放入android-sdk-windows\platforms\android-10\images,記得一定要名字一定要以system.img

命名。好了開啟模擬器,你發現開機動畫改了。(哈哈,用過CM版本的同學是不是很眼熟,哈哈,是的,我把CM的開機動畫拷貝過來了)

       

Ø         真機修改

這裡我就用中興的U960s做為小白鼠了。當然了你得有root許可權。

Adb shell

#cd system/media

#ls

 

果然有我們想要替換的bootanimation.zip檔案

參考本部落格的重掛載system目錄的許可權(保證有rw許可權)

好了 adb push yourpath/bootanimation.zip /sdcard/bootanimation.zip

adb shell

#cp /system/media/bootanimation.zip /system/media/bootanimation.zip.bk

#cp /sdcard/bootanimation.zip /system/media/bootanimation.zip

 

開機重啟,呵呵,大功告成。

修改開機LOGO

參考:

Ø         製作圖片是最關鍵的一步:

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" 

Ø         提取boot.img並修改

 這裡以中興的blade V880作為小白鼠

cat /proc/mtd

備份boot.img命令舉例如下(切記手機不同,命令不一定相同,請核對自己手機上一步的顯示):

cat /dev/mtd/mtd2 >/sdcard/boot_test.img

boot.img拷貝到ubuntu上(你最好裝個虛擬機器)

 (解包、打包中用到的pl指令碼在文章結尾的附件中)

解包

./unpack-bootimg.pl boot_test.img

 

新增開機LOGO

 

打包:

./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk jhy_boot_logo_320.img

這裡boot.img.new就是新打包生成的img檔案。

不同的手機基址是不一樣的,你可以看看下面這篇文章來算出你自己手機的bootimg基址。

 

Ø         重新燒錄boot.img

jhy_boot_logo_320.img拷到手機sdcard

cat /dev/zero > /dev/mtd/mtd1

flash_image boot /sdcard/jhy_boot_logo_320.img

 

不過:本人實驗的有點問題,可能是圖片那塊沒有做好,開機LOGO是這個死樣,感覺圖片怎麼縮了。而且一下子出來好多個機器人。

 

對比原圖:這是慘不忍睹,也沒有時間再搗鼓了,如果有興趣的TX幫我找找原因,謝謝了。

本文所有的工具、資源下載連結