查看原文
其他

Android13系统定制之开机/关机Logo和动画

哆啦安全 2022-12-06

The following article is from Android开发编程 Author Android开发编程

Android系统之定制开关机画面与动画


前言

这段时间开始修改开机动画,把修改开机logo和动画总结如下

一、开机logo替换

  • uboot和kernel阶段的logo分别为开机显示的第一张和第二张logo图片;

  • logo图片路径:

uboot logo源文件:kernel/logo.bmp ;kernel logo源文件:kernel/logo_kernel.bmp;
  • 需要更换某一张,只需用同名的bmp替换掉;

  • 重新编译内核即可,编译后的文件在boot.img中;

  • 全部编译,编译后的文件在update.img中;

注意:可以根据产品需求进行修改替,换Logo图片大小目前只支持到8M以内大小的bmp格式图片,支持8、16、24、32位的bmp,不然会编译不通过;

二、修改开机动画

1、开机动画说明

  • android系统开机过程默认是会显示一个android画面,该开机画面是在应用程序 bootanimation 显示的动画;

  • bootanimation 程序会检查系统制定目录下是否存在动画文件(.zip文件),如果不存在,则显示的是Android系统默认的开机动画(明暗闪烁的 Android Logo),否则的话,就是由用户自定义的开机动画;

2、修改方式

  • 替换那个Android LOGO,直接替换frameworks\base\core\res\assets\images下面的图片;

  • 将开机的动画复制到device/rockchip/common/bootshutdown/bootanimation.zip

3、动画bootanimation.zip制作

安卓的开机动画是由一系列的连续 PNG 图片作为帧组成的动画形式。不是合成为一张 GIF 图 片,而 是 一个 文件 包 ,将 各帧 P N G 图片 以压 缩 方式 保存 。这 个保 存的 文件 名就 是

bootanimation.zip,压缩方式要求是存储压缩;

bootanimation.zip压缩包里面包含数张png格式的图片,还有一个desc.txt的文本文档,开机时按desc.txt里面的指令,屏幕上会按文件名称顺序连续的播放一张张的图片;

①.制作帧动画

图片张数尽量不要太多;关键:图片一定要按顺序命名;

第一阶段动画图片目录:part0-------存放每帧 PNG 图片文件夹

第二阶段动画图片目录:part1-------存放每帧 PNG 图片文件夹

②desc.txt文件


1280 720 25p 1 0 part0p 0 0 part0


其中1280 720代表分辨率,表示帧动画以这个分辨率显示;25表示的是帧数,就是每秒播放的图片数量;

p1(播放一次) 0(阶段切换间隔时间)part0 代表这part0文件夹

p0(重复播放)0 (阶段切换间隔时间)part1 代表着part1文件夹内

③压缩

  • 最后一步是压缩成名为 bootanimation.zip 的压缩文件;

  • 压缩格式必须是.zip,还有最重要的是,压缩方式必须选择为“存储”,否则系统读不到。完成后即可替换原有开机动画;

  • 注意:替换的时候不要忘记 bootanimation.zip 的权限为 755;

  • 找到一组连续的动画,进行批量压缩处理,把像素大小调到适合自己的手机即可,输出格式为 png, 名称为一组连续数字比如 0000.png,0001.png。然后分别放到 part0 和 part1,根据实际情况修改desc.txt

压缩命令: 

zip -r -0 bootanimation.zip part0 part1 desc.txt

总结

开机动画源码在/frameworks/base/cmds/bootanimation/ 等到以后在分析



推荐阅读

Android APP防作弊SDK解决方案

AOSP Android11系统源码开发环境搭建

AOSP Android11系统源码下载方法(Pixel3)

AOSP Android11系统源码编译方法(Pixel3)

干货|Android APP应用工程师转Framework工程师(仅此一篇够了)

Ubuntu20.04系统添加swap交换空间解决Android系统编译过程内存不足的问题



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存