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

來源:互聯網
上載者:User

標籤:配置   attribute   androi   play   執行   UI   間隔   迴圈播放   lan   

本文轉載自: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.pnmpnmtoplainpnm 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.pnmpnmquant 224 linuxlogo.pnm > linuxlogo224.pnmpnmtoplainpnm 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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.