【RK3568】制作Android11开机动画

Android 开机 logo 分为两种:静态显示和动态显示。静态显示就是循环显示一张图片;动态显示就是以特定帧率顺序显示多张图片

Android logo最好是png格式的,因为同一张图片的情况下,png 格式的比 jpg和bmp 格式的要小。

如果是多张图片时,android显示logo 是按照图片名称数值的大小顺序来显示的。例如0000.png ,0001.png , 0002.png , 0003.png , 0004.png 。

所有的图片需要放置在 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

解析

  1. desc.txt 文件由 1 + N 行组成。
    1. 第一行指定了动画的分辨率(宽度 x 高度)和帧率(FPS)。
    2. 随后的 N 行描述了每个动画段:
  1. TYPE:表示动画段的类型(p 或 c)。
  2. p:在启动过程结束之前播放,如果启动过程被中断,动画也会中断。
  3. c:无论启动进度如何,都播放到完成。
  1. COUNT:指定动画播放的次数。
  1. 例如,c 1 0 part0 表示播放 part0 动画一次,不管启动进度如何。
  2. c 0 0 part2 表示播放 part2 动画直到完成,不管启动进度如何。
  3. c 1 30 part3 表示播放 part3 动画一次,但在启动进度达到 30% 时开始播放。
  4. c 1 15 part4 表示播放 part4 动画一次,但在启动进度达到 15% 时开始播放。

4 .打包压缩

同时选中所有part 文件desc.tx t。鼠标右键选择 添加到压缩文件(新建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 镜像。

相关推荐
张风捷特烈3 小时前
Flutter 伪3D绘制#03 | 轴测投影原理分析
android·flutter·canvas
omegayy6 小时前
Unity 2022.3.x部分Android设备播放视频黑屏问题
android·unity·视频播放·黑屏
mingqian_chu6 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
自动花钱机7 小时前
Kotlin问题汇总
android·开发语言·kotlin
行墨9 小时前
Kotlin 主构造函数
android
前行的小黑炭9 小时前
Android从传统的XML转到Compose的变化:mutableStateOf、MutableStateFlow;有的使用by有的使用by remember
android·kotlin
_一条咸鱼_9 小时前
Android Compose 框架尺寸与密度深入剖析(五十五)
android
在狂风暴雨中奔跑10 小时前
使用AI开发Android界面
android·人工智能
行墨10 小时前
Kotlin 定义类与field关键
android
信徒_11 小时前
Mysql 在什么样的情况下会产生死锁?
android·数据库·mysql