Android 开机 logo 分为两种:静态显示和动态显示。静态显示就是循环显示一张图片;动态显示就是以特定帧率顺序显示多张图片
1.准备 android logo 图片
Android logo最好是png格式的,因为同一张图片的情况下,png 格式的比 jpg和bmp 格式的要小。
如果是多张图片时,android显示logo 是按照图片名称数值的大小顺序来显示的。例如0000.png ,0001.png , 0002.png , 0003.png , 0004.png 。
2.Android logo 打包
所有的图片需要放置在 part*(*代表数值 0-n)命名的目录里面,part*目录至少有一个。
如果需要循环播放所有的图片,只需要创建一个 part0 文件夹即可,如果需要先播放一部分图片,然后再循环播放另一部分图片。这就需要创建 part0 和 part1文件夹,part0 存放开头先播放那一部分图片,part1 存放循环播放的另一部分图片。 也就是说开机动画是根据part文件夹后面的顺序来顺序播放的,可以任意指定每一个part的播放规则,也就是后面的desc.txt描述文件。
如下面的part文件格式,从part0中的图片顺序播放到part4
3 准备 desc.txt 文件。
desc.txt 文本格式:Unix+UTF-8
desc.txt 是描述显示规则的配置文件,主要是告知系统 logo 图片的信息,需要怎么显示。desc.txt,如下所示:
512 416 60
c 1 0 part0
c 1 0 part1
c 0 0 part2
c 1 30 part3
c 1 15 part4
解析
- desc.txt 文件由 1 + N 行组成。
- 第一行指定了动画的分辨率(宽度 x 高度)和帧率(FPS)。
- 随后的 N 行描述了每个动画段:
- TYPE:表示动画段的类型(p 或 c)。
- p:在启动过程结束之前播放,如果启动过程被中断,动画也会中断。
- c:无论启动进度如何,都播放到完成。
- COUNT:指定动画播放的次数。
- 例如,c 1 0 part0 表示播放 part0 动画一次,不管启动进度如何。
- c 0 0 part2 表示播放 part2 动画直到完成,不管启动进度如何。
- c 1 30 part3 表示播放 part3 动画一次,但在启动进度达到 30% 时开始播放。
- c 1 15 part4 表示播放 part4 动画一次,但在启动进度达到 15% 时开始播放。
4 .打包压缩
同时选中所有part文件desc.txt。鼠标右键选择 添加到压缩文件(新建bootanimation文件再压缩的话会多一层目录),压缩包命名bootanimation.zip,选择 zip 格式,压缩方式选择存储。
5.复制到android
将生成的 bootanimation.zip 拷贝到 X_11_17/device/rockchip/rk356x/目录下,修改权限为777。如下:
6.修改配置文件
在 device/rockchip/rk356x/device.mk 文件里,添加如下内容:
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
7.编译 android 源码
编译完,重新烧写 android 镜像。