第一步、制作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/下
- 文件夹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
- 要增加$(warning “copy 10 Bootanimation.mk”),便于知道是否编译的时候真正的执行到了copy
- 刚开始的时候是把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