前语

  • logo图片的格局一般为bmp格局

  • logo图片巨细一般只支撑8M巨细

目前android开机画面由三个部分(阶段)组成:

榜首部分在bootloader发动时显现(静态)

第二部分在发动kernel时显现(静态)

第三部分在体系发动时(bootanimation)显现(动画)

这儿我主要修正的是开机动画,开机的第三部分

Android的开机动画是以bootanimation.zip的办法存储在手机、TV等安卓设备上,安卓发动时分,搜索开机动画的ZIP文件的优先次序如下,只会播放其间一个:

假如设置prop特点vold.decrypt = 1,则:
(1)/system/media/bootanimation-encrypted.zip (if getprop("vold.decrypt") = '1')
否则:
(2)/system/media/bootanimation.zip  位置一:/system/media/
(3)/oem/media/bootanimation.zip   位置二:/oem/media/

从以上途径可知,在源码集成的时分,只需让Makefile在编译过程中,将bootanimation.zip复制到android设备的其间一个目录即可。

补白:

我在修正的时分按照文章说的办法试着用adb的办法在/oem文件夹下创建/media目录,首要报错Read-only file system过错,接着尝试着adb shell下输入mount -o remount -o rw /去使文件夹可读写,结果报错:/dev/block/dm-0' is read-only,网上找了良久,挺多人遇到这个问题,但如同都没有处理,有办法望告知一声

步骤

制造 bootanimation.zip

  • 预备png图片(很多图片轮播成为动画作用)

  • 编写动画描述文件 desc.txt,内容格局如下:

    • 榜首行的三个数字别离表明开机动画在屏幕中的显现宽度、高度以及帧速(fps)。 剩下的每一行都用来描述一个动画片段,这些行必须要以字符“p”来开头,后边紧跟着两个数字以及一个文件目录途径称号。
    • 榜首个数字表明一个片断的循环显现次数,假如它的值等于0,那么就表明无限循环地显现该动画片断。
    • 第二个数字表明每一个片断在两次循环显现之间的时刻距离,这个时刻距离是以一个帧的时刻为单位的。
    • 文件目录下面保存的是一系列png文件,这些png文件会被依次显现在屏幕中。

举例说明:

600 480 24 // 开机动画巨细为宽600 高 480,动画的显现速度为24帧每秒。

p 1 0 part1 // part1目录下png图片显现一次,循环距离为0帧时刻。

p 0 10 part2 // part2目录下png图片无限循环,循环距离为10帧时刻。

为了节省时刻,我这儿找了一个开机动画的资源:pan.baidu.com/s/1OGkHslcL…

快速检查检查作用

当咱们制造好bootanimation.zip之后,假如每次都是经过编译刷机的办法看见作用,未免效率低下。咱们能够经过adb的办法去调试跟检查作用:

  • adb push 文件到 system/media/文件夹下
  • 重启设备,就能够检查作用了

我的体系是aosp10,并没有开机动画,所以在/system目录下,并没有media目录,这时就需要咱们去经过mkdir指令去新建一个media目录,再把bootanimation.zip推进去

代码设置

平台不同,装备也不同

我的设备是pixel4XL,对应的产品代号为coral,每个人能够去官网检查自己的设备代号

  1. 将ZIP文件放置于下面目录 源码根目录/device/google/coral/media中(media目录是我新建的)
  1. 在上面media目录中添加makefile文件,,例如:Bootanimation.mk
$(warning ########media-BoardConfig.mk#########)
PRODUCT_COPY_FILES += \
   device/google/coral/media/bootanimation.zip:system/media/bootanimation.zip

aosp-Android系统-替换开机动画

  1. 将Bootanimation.mk添加到编译规则当中

aosp-Android系统-替换开机动画

  1. 编译刷机即可看见修正往后的动画

参阅文档

基于Android P,自定义Android开机动画的办法 – ()

【Android 12 AOSP学习】Android体系修正开机logo图片及开机动画还有遇到的问题_aosp怎么更改发动图标_逝回。的博客-CSDN博客

Android 修正开机LOG和发动动画_android framework 发动流程 开机logo 和 开机动画_青春给了狗的博客-CSDN博客