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

posted @ 2018-05-03 11:40  LeeAaron  阅读(1465)  评论(0编辑  收藏