当前位置: 首页 > news >正文

【RK3568】制作Android11开机动画

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

1.准备 android logo 图片

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

        如果是多张图片时,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

解析

  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.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 镜像。

http://www.lryc.cn/news/368625.html

相关文章:

  • chrony内网同步服务器时间
  • SSM物流管理系统的设计与实现-计算机毕业设计源码44323
  • STM32CubeIDE使用过程记录
  • angular2开发知识点
  • 【机器学习】机器学习与智能交通在智慧城市中的融合应用与性能优化新探索
  • 走的人多了,也便成了路(七)
  • UE5中在地形中加入湖、河
  • 【280个shell脚本】----提示运维工作效率
  • 从零开始搭建Electron项目之运行例程
  • MySQL逻辑备份
  • python 获取网页链接图片
  • Leetcode 力扣114. 二叉树展开为链表 (抖音号:708231408)
  • 文刻ai工具跟绘唐AI工具有什么区别
  • 手写kNN算法的实现-用欧几里德空间来度量距离
  • IGraph使用实例——线性代数计算(blas)
  • 【MySQL】(基础篇五) —— 排序检索数据
  • C++ C_style string overview and basic Input funcitons
  • VS2022+Qt雕刻机单片机马达串口上位机控制系统
  • Android Ble低功耗蓝牙开发
  • Visual Studio的快捷按键
  • 【WEB系列】过滤器Filter
  • [书生·浦语大模型实战营]——LMDeploy 量化部署 LLM 实践
  • TiDB-从0到1-配置篇
  • 微信小程序按钮设计与交互:打造极致用户体验
  • ES6中如何使用class和extends关键字实现继承?
  • Linux:基本指令
  • 商业C++静态代码检测工具PC-lint Plus 、 polysace和sonarqube对比
  • 邬家桥公园
  • Flutter 中的 RenderObjectToWidgetAdapter 小部件:全面指南
  • SNAT与DNAT