📢 1. 职业规划篇
📢 2.基础篇
基础篇.用 bugreport 带你看 Crash 和 ANR
📢 3. 系统应用篇
系统应用篇.解密 Partner、google PAI 机制
📢 4. 系统篇
系统篇.SystemServer 简介、自定义 Service 服务一
系统篇.SystemServer 简介、自定义 Service 服务二
系统篇.SystemServer 简介、自定义 Service 服务三
系统篇.SystemServer 简介、自定义 Service 服务四
📢 5. 性能篇
(省)低内存优化
性能篇 (省).SystemServer 与 LMK 的 socket 通信
(稳)稳定性优化
(快)开机优化
framework交流,答疑:251662478
🚀 AOSP 开机动画定制:打造专属 BootAnimation!
在 Android 定制 ROM 或 品牌机 UI 设计 过程中,修改开机动画(Boot Animation) 是常见需求。
本篇文章将 手把手带你修改 AOSP 开机动画,让你的 ROM 与众不同! 🎨✨
🔹 一、开机动画的原理
Android 开机动画 不是视频文件,而是 一系列 PNG 图片+描述文件,由 SurfaceFlinger 负责渲染。
📌 路径:
/system/media/bootanimation.zip (常规存放路径)
/product/media/bootanimation.zip (部分设备)
📌 组成文件:
bootanimation.zip
├── desc.txt # 动画描述文件
├── part0/ # 第一阶段动画帧
├── part1/ # 第二阶段动画帧
├── ...
📌 desc.txt 内容示例:
1080 1920 30 # 分辨率 & 帧率
p 1 0 part0 # 第一部分,循环1次,无延迟
p 0 0 part1 # 第二部分,循环播放
🔹 二、修改开机动画
📌 1. 获取官方 bootanimation.zip
adb pull /system/media/bootanimation.zip .
unzip bootanimation.zip -d bootanimation
📌 2. 替换图片
- 确保图片分辨率与
desc.txt设定一致(否则可能黑屏)。 - PNG 格式,无需透明通道(降低体积)。
📌 3. 重新打包
zip -r0 bootanimation.zip desc.txt part0 part1
📌 4. 替换系统动画
adb root
adb remount
adb push bootanimation.zip /system/media/
adb reboot
🎉 重启后,你会看到自定义开机动画!
🔹 三、源码级修改(AOSP 方式)
如果你要在 ROM 级别 修改开机动画,应该修改 系统源码。
📌 1. 替换默认 bootanimation.zip
路径:
AOSP_ROOT/device/google/pixel/media/bootanimation.zip
或
AOSP_ROOT/device/your_device/media/bootanimation.zip
直接替换 bootanimation.zip,然后 make 重新编译。
📌 2. 修改 BootAnimation.cpp (高级)
源码路径:
frameworks/base/cmds/bootanimation/BootAnimation.cpp
可修改:
const char DEFAULT_BOOTANIMATION[] = "/system/media/bootanimation.zip";
改为:
const char DEFAULT_BOOTANIMATION[] = "/product/media/custom_bootanimation.zip";
然后重新编译 AOSP。
🔹 四、开机动画的进阶玩法
✅ 动态调整帧率,避免卡顿(降低 desc.txt 里的 FPS)。
✅ 添加声音(需修改 system/etc/boot_sound.ogg)。
✅ 制作 SVG 矢量动画,导出 PNG 适配高分屏。
✅ 不同 ROM 设备兼容性优化(部分 ROM 需要 /product/media)。
🔹 五、总结
📌 方法1(简单): 直接替换 bootanimation.zip,适合 个人定制
📌 方法2(源码): 修改 AOSP BootAnimation.cpp,适合 深度 ROM 适配
🎯 你学会了吗?欢迎留言交流!🚀