3. 修改Android动画¶
3.1. 图片动画¶
Android开机图片动画是一个存储在 bootanimation.zip 文件中的无压缩 ZIP 档案,通常位于 /system/media/目录。该文件包含 PNG 图片序列和一个 desc.txt 配置文件,用于定义动画的分辨率、帧率和播放方式,通过替换 bootanimation.zip,可以自定义开机动画。
本教程将指导:
创建一个新的 bootanimation.zip 文件,分辨率720x190,帧率 60 FPS,单部分动画。
将新的 bootanimation.zip 安装到 Android 设备。
3.1.1. 准备工作¶
3.1.1.1. 所需工具¶
电脑:Windows、Mac 或 Linux 系统。
图像编辑软件:如 Photoshop、GIMP,用于创建或编辑 PNG 图片。
7-Zip 或 WinRAR:用于创建无压缩的 ZIP 文件。
ADB(Android Debug Bridge):用于将文件推送至设备。
3.1.1.2. 设备要求¶
Android 设备(已启用 USB 调试)。
确保设备分辨率与动画配置匹配(本例为 720x190)。
3.1.2. 创建新的bootanimation.zip文件¶
3.1.2.1. 准备动画素材¶
创建 PNG 图片:
使用图像编辑软件创建一系列 PNG 图片,每张图片代表动画的一帧。
图片分辨率应为 720x190(与你的配置匹配)。
命名图片为连续编号,例如 0000.png, 0001.png, 0002.png 等,建议从 0000 开始。
确保图片格式为 PNG(支持最高 32 位),避免使用 JPG 或其他格式。
根据帧率 60 FPS,每秒需要 60 张图片。例如,5 秒动画需要约 300 张图片。
组织文件夹结构:
创建一个名为 bootanimation 的文件夹。
在 bootanimation 文件夹中,创建子文件夹 part0(根据你的配置 part0)。
将所有 PNG 图片放入 part0 文件夹。
示例结构:
bootanimation/
├── desc.txt
└── part0/
├── 0000.png
├── 0001.png
├── 0002.png
└── ...
3.1.2.2. 创建desc.txt文件¶
编写desc.txt:
在 bootanimation 文件夹中创建 desc.txt 文件。
根据你的配置(720 190 60 和 c 1 30 part0),内容如下:
1 2 | 720 190 60
c 1 30 part0
|
参数说明如下:
第一行:720 190 60
720:动画宽度(像素)。
190:动画高度(像素)。
60:帧率(每秒帧数,FPS)。
第二行:c 1 30 part0
c:动画类型,表示在系统启动完成时立即停止.
1:循环次数(1 表示播放一次)。
30:动画结束后暂停的帧数(以帧为单位,30 帧在 60 FPS 下约为 0.5 秒)。
part0:动画部分的文件夹名称。
注意:文件需使用 Linux 换行格式(LF),避免 Windows 的 CRLF 格式。可用 Notepad++ 或 VS Code 保存为 LF 格式。
确保文件正确:
确认 desc.txt 和 part0 文件夹名称与配置一致。
确保 PNG 文件按顺序命名,且无其他无关文件(如 Windows 自动生成的 thumbs.db)。
3.1.2.3. 打包bootanimation.zip¶
使用7-Zip打包:
打开 7-Zip,导航到 bootanimation 文件夹。
选中 desc.txt 和 part0 文件夹。
右键选择“添加到压缩包”。
压缩格式:zip
压缩级别:存储(无压缩,重要!)
输出文件名:bootanimation.zip
点击“确定”生成 bootanimation.zip。
验证 ZIP 文件:
确保 ZIP 文件未压缩(可打开检查文件大小接近原始 PNG 文件总和)。
确认内部结构正确:
bootanimation.zip
├── desc.txt
└── part0/
├── 0000.png
├── 0001.png
└── ...
3.1.3. 连接设备调试¶
将设备通过 USB 连接到电脑。
打开命令行(Windows CMD 或终端)
3.1.3.1. 推送文件¶
使用 ADB 将新 bootanimation.zip 推送到 /system/media/
adb root && adb remount
adb push 电脑路径\bootanimation.zip /system/media/bootanimation.zip
3.1.3.3. 替换源码sdk动画¶
测试效果ok,将源码储存device/rockchip/common/bootanimation.zip,替换修改的新动画文件bootanimation.zip,然后-Au编译最终完成。
3.1.4. 调试与故障排除¶
3.1.4.1. 动画不播放,显示默认Android文本¶
检查 bootanimation.zip 是否正确命名为 bootanimation.zip。
确保 ZIP 文件使用“存储”模式打包(无压缩)。
验证 desc.txt 格式正确(使用 LF 换行,无多余空格或空行)。
确保 PNG 文件命名连续且正确(如 0000.png 开始)。
3.1.4.2. 黑屏或闪烁¶
确保 PNG 文件分辨率与 desc.txt 中的 720 190 一致。
检查是否存在无关文件(如 thumbs.db)。
尝试将文件放置在 /system/media/
3.1.4.3. 动画播放速度不正确¶
确认 desc.txt 中的帧率(60 FPS)与 PNG 图片数量匹配。
调整图片数量或帧率以优化播放时长。
3.2. 视频动画¶
安卓除了支持图片动画还支持视频动画,相对图片动画而言视频动画修改更简单。
3.2.1. 准备视频¶
视频动画要求视频格式为ts格式,可通过ffmpeg将mp4视频转换为ts格式视频,或者自行百度搜索“mp4转ts在线工具”网站进行转换。ffmpeg转换命令如下:
1 2 | #将input.mp4转换为output.ts
ffmpeg -i input.mp4 -c:v copy -c:a copy -f mpegts output.ts
|
3.2.2. 修改SDK源码¶
1、需要将ts格式的视频重命名为bootanimation.ts,然后放到SDK源码/device/rockchip/common/bootvideo目录下。
2、需要把图片动画取消,修改SDK源码/device/rockchip/common/device.mk,修改内容如下,将开机图片动画注释:
1 2 3 | # 开机动画
# PRODUCT_COPY_FILES += \
# $(LOCAL_PATH)/bootanimation.zip:/system/media/bootanimation.zip
|
修改完成如下图所示:

3、开启视频动画,修改SDK源码/device/rockchip/common/BoardConfig.mk,在文件末尾添加以下内容:
1 | BOOT_VIDEO_ENABLE ?= true
|
修改完成后如下图所示:
