RK3288 制作開機動畫


Android 的開機動畫是由 Linux 本地守護程序 bootanimation 專門控制實現的,其代碼在 frameworks/base/cmds/bootanimation/ 目錄下。

 

修改開機動畫的方式有兩種:

1、蒙版圖片替換:

替換 frameworks/base/core/res/assets/images 目錄下的兩張圖片文件,android-logo-mask.png 和 android-logo-shine.png。

android-logo-mask.png 是鏤空蒙版圖片,android-logo-shine.png是鏤空蒙版后面的閃光圖片,兩張圖片通過疊加移動達到動畫效果。

(1)用 Photoshop 制作一張同樣分辨率和格式的圖片,要求背景為黑色,字體中間鏤空,命名為 android-logo-mask.png。制作圖片方法請找度娘。

(2)將制作好的圖片android-logo-mask.png 復制到 frameworks/base/core/res/assets/images 目錄下,替換掉以前的圖片。

$ cp -raf android-logo-mask.png frameworks/base/core/res/assets/images/
// 防止源碼不編譯圖片,需更新圖片時間戳
$ touch frameworks/base/core/res/assets/images/android-logo-mask.png

(3)重新編譯模塊

$ source build/envsetup.sh
$ lunch rk3288-eng
$ mmm frameworks/base/core/res/

(4)生成新的 system.img

$ make snod

(5)重新燒錄並查看效果。

 

2、逐幀動畫替換

創建 bootanimation.zip 文件,該壓縮包文件里存放有逐幀動畫和控制腳本,通過連續切換顯示圖片達到動畫的效果。

bootanimation.zip壓縮包文件結構
文件 說明
desc.txt 動畫屬性描述文件
part0 第一階段動畫圖片目錄
part1 第二階段動畫圖片目錄

 

 

 

 

 

 

 

(1)將第一部分圖片按播放順序命名好,保存在 part0 的文件夾中,例如:001.jpg、002.jpg(有的資料和書籍上強調必須為png格式圖片,但是我在rk3288上測試,jpg格式也可以正常使用)

(2)將第二部分圖片按播放順序命名好,保存在 part1 的文件夾中,例如:001.jpg、002.jpg

(3)創建名稱為 desc.txt 的文檔,內容如下:

1366 768 15
p 1 0 part0
p 0 10 part1
desc.txt文件詳解
圖片屬性 1366(圖片寬度) 768(圖片高度) 15(每秒顯示幀數)
第一階段動畫屬性 p(默認標志符) 1(循環次數為1) 0(進入該階段的間隔時間) part0(該階段圖片的存放目錄)
第二階段動畫屬性 p(默認標志符) 0(無限循環) 10(進入該階段的間隔時間) part1(該階段圖片的存放目錄)

 

 

 

每秒顯示幀數:每秒顯示的圖片數量。

間隔時間:該階段結束后間隔多久進入下一階段顯示,單位為每張圖片的顯示時間。

(4)選中part0、part1和desc.txt進入自定義壓縮,壓縮文件格式為 zip,壓縮方式為存儲,命名為 bootanimation.zip。

(5)將壓縮包拷貝到 device/*/$(TARGET_DEVICE) 目錄下。例如:RK3288 的目錄在 device/rockchip/rk3288/bootanimation.zip

(6)修改 device/*/$(TARGET_DEVICE)/$(TARGET_DEVICE).mk 文件。例如:RK3288 是 device/rockchip/rk3288/rk3288.mk

// 在文件中添加,不使用逐幀動畫時,用 # 屏蔽此行即可
PRODUCT_COPY_FILES += device/rockchip/rk3288/bootanimation.zip:system/media/bootanimation.zip

(7)重新編譯生成 system.img

$ source build/envsetup.sh
$ lunch rk3288-eng
$ make snod

(8)重新燒錄並查看效果。

 

逐幀動畫的優先級比蒙版動畫的優先級高,當使用了逐幀動畫時,蒙版動畫就不播放了。

 

RK3288 制作內核開機logo


免責聲明!

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



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