如何製作 Android 開機動畫 (bootanimation.zip)

常常去找別人製作的開機動畫?找不到自己想要的動畫又得拜託人做?那就自己來做開機動畫吧!

開機動畫是什麼?

Android 的開機動畫是什麼呢?是 SWF 動畫?是 GIF 動畫?都不是,其實 Android 開機動畫是由一張一張 PNG 圖片,再加上一個控制設定的檔案組合而成的。開機動畫檔名為 bootanimation.zip,一般存放在 /system/media

事前準備

  • Photoshop 等作圖工具
  • WinRAR 等壓縮工具
  • 記事本等文件編輯工具
  • ES 檔案瀏覽器 – 把製作好的開機動畫放到系統
  • Root

基本開機動畫檔案架構

  • part0 資料夾存放開機動畫的圖片,全部播完一次就不播了
  • part1 資料夾也存放開機動畫的圖片,一直重複播放直到開機完成
  • desc.txt 是設定檔,包括 FPS 、暫停時間等設定。

而資料夾裡的圖片必須有流水號,比方說:pic001.png、pic002.png、pic003.png。

假設 part0 有一百張圖片(pic000.png~pic099.png),那麼 part1 的第一張圖片必須是 pic100.png,而非 pic000.png 。

desc.txt 設定檔?

1920 1200 10
p 1 0 part0
p 0 0 part1

以上是某個 desc.txt 的內容。

  • 第一行的三個數值分別是寬度高度還有** FPS** (一秒播放的張數)。
  • 第二行是圖片存放的位址,其中 1 是指只播放一遍,0 是指播放完要延遲的時間(單位:毫秒),part0 則是存放圖片的資料夾。
  • 第三行也是圖片存放的位址,0 是指重複播放,第二個 0 是延遲時間,part1 也是存放圖片的資料夾。
  • 然後記得保留最後一行空白,否則可能會出錯。

照以上設定的話,那麼就是播放 part0 資料夾的所有圖片一次,然後不延遲,馬上播放 part1 資料夾的圖片,如果還有時間就重複播放 part1 資料夾圖片。

開機動畫長度?

剛剛在 desc.txt 不是有設定 FPS 嗎?時間就是圖片總張數/FPS,也就是說如果有 part0 資料夾一百張圖片用 10FPS 下去開機的話就大概有 10 秒的時間(其實要再加上一點點的手機讀取時間以及 part1 資料夾)。

什麼樣的圖片可以當開機動畫?

圖片一定要是 JPG 或 PNG 格式,建議 PNG,讀取速度可以比 JPG 快。注意圖片不能是透明的,否則可能無法播放。

壓縮開機動畫

壓縮時存成 ZIP 格式,檔名為 bootanimation.zip,切記壓縮率必須是 0 (僅儲存)。

放到手機?

接著透過 ES 檔案瀏覽器把 bootanimation.zip 放到 /system/media 覆蓋就可以了。

範例下載

把最近做的 Xperia Tablet Z 開機動畫拿出來獻醜吧 xDDD

Xperia Tablet Z BIOS_Boot v1 下載:bootanimation.zip