第一步、制作bootanimation.zip

1.1、图片格式

推荐使用jpg或者png格式的图片

1.2、图片命名规则

多张图片时,Android显示logo是按照图片名称数值的大小顺序来显示的;图片命名需要注意名称后面要以数字结尾,并且按图片总张数的位数来补齐0,并且高位前需要再补一个0;

  • 有9张图片,命名为:01.png ~ 09.png
  • 有10图片,命名为: 001.png ~ 010.png
  • 有100图片,命名为:0001.png ~ 0100.png;

1.3、desc.txt

在这里插入图片描述
在这里插入图片描述

  • 480 350
    代表图片的分辨率
  • 5
    代表图片播放的帧率
  • p 1 0 first
    1是循环一次
    0 间隔时间为0
    first 为对应的文件夹名
  • p 0 0 second
    0是无限循环
    0 间隔时间为0
    second 为同级second目录

1.4、打包成zip压缩包

在这里插入图片描述
在这里插入图片描述

  • 压缩格式为zip
  • 压缩方式为存储

第二步、拷贝bootanimation.zip到system/media/bootanimation

2.1、使用adb拷贝

2.1.1、adb push bootanimation.zip /system/media/

在这里插入图片描述
解决:解锁DM-verity
DM-verity 是Android 系统安全的重要部分,它能保证Android 的 vendor 和 system 镜像文件中的内容是真实可靠的。所以如果打开了DM-verity功能那么如果我们通过fastboot修改android系统的system分区或者vendor分区,那么DM-verity校验时就会出错,因此在fastboot之前需要先将DM-verity解锁。

  • adb reboot bootloader

  • fastboot flashing unlock

  • fastboot reboot

  • adb root
    在这里插入图片描述

  • adb disable-verity

  • adb reboot

  • adb root

  • adb remount
    在这里插入图片描述

2.1.2、重新启动设备

2.2、源码mk文件拷贝

2.2.1、把bootanimation.zip包放到/android10/device/google/bootanimation/下

在这里插入图片描述

  1. 文件夹bootanimation是自己创建的

2.2.2、build/target/product/media_system.mk文件,执行copy功能

在这里插入图片描述

  • 执行copy代码
#bootAnimation
$(warning "copy 10 Bootanimation.mk")
PRODUCT_COPY_FILES += \
    device/google/bootanimation/bootanimation.zip:system/media/bootanimation.zip

在这里插入图片描述

  1. 要增加$(warning “copy 10 Bootanimation.mk”),便于知道是否编译的时候真正的执行到了copy
  2. 刚开始的时候是把copy的逻辑加在了full_base.mk文件里面,但是编译的时候发现没有执行,发现media_system.mk和media有关系,所以最后把copy逻辑加在了该文件下

2.2.3、烧录到Pixel3的真机上

  • source build/setupenv.sh
  • lunch 21
    在这里插入图片描述
  • make -j8
    在这里插入图片描述
    在这里插入图片描述
  • adb reboot bootloader
  • fastboot flashall -w
    在这里插入图片描述
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐