Android5.1開機LOGO與開機動畫【轉】


本文轉載自:http://blog.csdn.net/u014770862/article/details/52624627

android5.1中,開機LOGO部分和之前版本的並不相同,主要區別在於Android LOGO顯示部分。此博客所講之處若有錯誤,敬請原諒,謝謝! 
開機LOGO一般有兩種:靜態的和動態的,android開機時共有三種LOGO(5.1之前可能算是4種吧)。 
1. uboot顯示 
2. kernel顯示 
3. android開機動畫 
一般情況下將前兩幅圖做成一樣的,第三個就是開機動畫部分。(uboot顯示logo一般可以不做,加快android啟動速度)。

一、kernel顯示

1.內核支持 
首先在內核中配置支持開機LOGO顯示:

Graphics support  ------>
       [*] Bootup logo -----> --- Bootup logo [*] Standard black and white Linux logo [*] Standard 16-color Linux logo [*] Standard 224-color Linux logo
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.LOGO制作 
1).使用png格式圖片

pngtopnm linuxlogo.png > linuxlogo.pnm //linuxlogo.png為原始圖片 pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

2).使用bmp格式圖片

convert logo.bmp linuxlogo.png //logo.bmp為原始圖片 pngtopnm linuxlogo.png > linuxlogo.pnm pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm pnmtoplainpnm linuxlogo224.pnm > logo_linux_clut224.ppm
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

其他格式的圖片也可以使用圖片工具另存為png格式的圖片,再按照上述代碼執行即可。也可以將上述代碼寫成腳本,這樣使用更方便。把制作好的logo_linux_clut224.ppm拷貝到內核drivers/video/logo/目錄下面,刪除文件夾下的logo_linux_clut224.o和logo_linux_clut224.c(如果有着兩個文件就刪除),然后編譯燒錄即可。

二、Android 開機動畫

Android5.1的android字樣貌似是不能單獨更改的,可以用開機動畫替換,和5.1之前的版本相比在init.c代碼中做了一些改動: 
 
開機畫面顯示的重點函數console_init_action()並沒有調用load_565rle_image(INIT_image_FILE),即在調用到console_init_action()函數后,指定的開機畫面為ANDROID字樣。 
load_565rle_image()函數也是不存在的。這就是android 5.1和之前不同之處,這也就說明了android5.1后,”android開機LOGO”不能替換了,只能通過替換開機動畫來達到效果。將開機動畫替換后,ANDROID字樣也隨之改變,因此通過直接更換開機動畫來達到目的即可。 
開機動畫的制作:bootanimation.zip 
將該文件放置在/system/media/目錄下,系統啟動時會自動加載該目錄下的bootanimation.zip。bootanimation.zip壓縮包主要由這幾部分組成: 
 
其中desc.txt的作用就是指導系統如何去執行開機動畫,desc.txt編寫規范:例如開機需要用到兩個文件夾part1和part2,在系統啟動時,會首先將part1里面的內容播放一遍,再循環播放part2里面的內容,直到要進入launch界面時停止。示例desc.txt內容如下:

1080 1920代表了屏幕的分辨率,22表示22幀每秒 
p 1 0 part1 :p就是play。1是播放一次,0是無限次。0代表階段間隔幀數為0,也就是幀動畫形式播放圖片。part1指定了要播放的第一個文件夾為part1(也可以取別的名稱,做相應修改即可) 
p 0 0 part2:第一個0表示循環播放。第二個0表示每張圖片間隔幀數為0(和上面指令一樣)。part2表示要循環播放的文件夾

將制作好的文件打包成bootanimation.zip即可,注意:必須是zip格式,且包的大小最好不要超過3M。然后放入/system/media/目錄下即可。

最近在制作開機動畫過程中發現添加開機動畫后其一直不能顯示,經過千辛萬苦的尋找最終得出如下結論: 
開機動畫zip的壓縮盡量在Linux環境下進行,在windows或者ubuntu的UI界面下壓縮 bootanimation.zip可能會造成開機動畫不能顯示,在linux下,進入素材目錄,執行壓縮命令:

zip -Z store bootanimation.zip part0/*.png part1/*.png desc.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM