關於android啓動過程中logo

android開機啓動會有3個logo出現:

1. bootable啓動,出現Android機器人圖像;
             修改目標:用自定義的ppm圖片替代/drivers/video/logo/logo_linux_clut224.ppm,同時刪除logo_linux_clut224.c logo_linux_clut224.o文件這樣才能使編譯的使用logo_linux_clut224.ppm重新編譯 ppm圖片的生成: 準備一個PNG格式的圖片。

                                 # pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm

                                # pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm
                                # pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
                然後重新編譯內核,第一個圖就OK了。

2.  Android平臺啓動初始化,出現"A N D R I O D"文字字樣畫面;
            Android 系統啓動後,讀取 /bootable/recovery/etc/initlogo.rle(一張565 rle壓縮的位圖),如果讀取成功,則顯示Logo圖片;如果讀取失敗,則將/dev/tty0設爲TEXT模式,並打開/dev/tty0,輸出文本“A N D R I O D”字樣,相關代碼: /system/core/init/init.c 文件 main()中。

3. c.  Android平臺圖形系統啓動,出現含閃動的ANDROID字樣的動畫圖片。
            Android 的系統登錄動畫類似於Windows系統的滾動條,是由前景和背景兩張PNG圖片組成,這兩張圖片存在於/system/framework /framework-res.apk文件當中。前景圖片(android-logo-mask.png)上的Android文字部分鏤空,背景圖片(android-logo-shine.png)則是簡單的紋理。系統登錄時,前景圖片在最上層顯示,程序代碼控制背景圖片連續滾動,透過前景圖片文字鏤空部分滾動顯示背景紋理,從而實現動畫效果。

 相關代碼:
/frameworks/base/libs/surfaceflinger/BootAnimation.h

/frameworks/base/libs/surfaceflinger/BootAnimation.cpp

/frameworks/base/core/res/assets/images/android-logo-mask.png7
Android默認的前景圖片,文字部分鏤空,大小256×64

/frameworks/base/core/res/assets/images/android-logo-shine.png
Android默認的背景圖片,有動感效果,大小512×64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章