开机动画的bootanimation.zip按道理是放在设备的/system/media/目录下但是我的板子里是没有的所以要先自己编译后续直接使用adb push更换即可使开机动画生效我的bootanimation.zip的位置在/device/rockchip/common/下但是由于我的设备目录下没有开机动画包所以很明显这个目录下的开机动画是没有起作用的将上面这个zip移动到/device/rockchip/rk3588/中然后在/device/rockchip/rk3588/device.mk中添加# 使你当前目录下的bootanimation.zip编译后存储在/system/media/中 PRODUCT_COPY_FILES \ $(LOCAL_PATH)/bootanimation.zip:/system/media/bootanimation.zip在/device/rockchip/common/device.mk中其实是有这行代码的但是这个device.mk不起作用所以要在我们起作用的mk里增加整编烧录之后在我们的设备中/system/media/就会有bootanimation.zip啦更改动画如果你想更改开机动画观察源码自带的bootanimation.zip需要一帧一帧的图片以及desc.txt在partX中按顺序存放PNG图片建议以数字命名desc.txt解析832 520 30 c 1 30 part0 c 1 0 part1 c 0 0 part2 c 1 30 part3 c 1 0 part4 c 1 0 part5832 520代表图像的分辨率。30代表图像显示的帧率即一秒钟显示30帧一张图片显示1/30帧。c代表continue表示即使系统启动完毕动画也继续播放直至动画播放完毕。对应还有p代表play表示如果系统启动完毕了动画将停止播放。1代表当前文件夹下的图像播放一次。2则播放两次如果无限播放则设为0。30代表两帧之间的间隔时长单位是帧30则刚好间隔1秒因为我们设置的图像显示的帧率为30。 part0表示当前播放的图像文件夹重点压缩成zip时压缩方式必须为存储压缩Ubuntu中存储压缩为 进入bootanimation文件夹输入命令 zip -r -0 bootanimation.zip part1 desc.txt # 我的文件只有part1和desc.txt开机动画的一些分析在/frameworks/base/cmds/bootanimation/BootAnimation.cpp中的bool BootAnimation::threadLoop() { ....... if (mVideoAnimation) { result video(); } else { // We have no bootanimation file, so we use the stock android logo // animation. if (mZipFileName.isEmpty()) { ALOGD(No animation file); result android(); // 如果没找到bootanimation.zip就使用静态的图片开机 } else { result movie(); // 使用bootanimation.zip } } ....... }
Android13 rk3588 更换开机动画
开机动画的bootanimation.zip按道理是放在设备的/system/media/目录下但是我的板子里是没有的所以要先自己编译后续直接使用adb push更换即可使开机动画生效我的bootanimation.zip的位置在/device/rockchip/common/下但是由于我的设备目录下没有开机动画包所以很明显这个目录下的开机动画是没有起作用的将上面这个zip移动到/device/rockchip/rk3588/中然后在/device/rockchip/rk3588/device.mk中添加# 使你当前目录下的bootanimation.zip编译后存储在/system/media/中 PRODUCT_COPY_FILES \ $(LOCAL_PATH)/bootanimation.zip:/system/media/bootanimation.zip在/device/rockchip/common/device.mk中其实是有这行代码的但是这个device.mk不起作用所以要在我们起作用的mk里增加整编烧录之后在我们的设备中/system/media/就会有bootanimation.zip啦更改动画如果你想更改开机动画观察源码自带的bootanimation.zip需要一帧一帧的图片以及desc.txt在partX中按顺序存放PNG图片建议以数字命名desc.txt解析832 520 30 c 1 30 part0 c 1 0 part1 c 0 0 part2 c 1 30 part3 c 1 0 part4 c 1 0 part5832 520代表图像的分辨率。30代表图像显示的帧率即一秒钟显示30帧一张图片显示1/30帧。c代表continue表示即使系统启动完毕动画也继续播放直至动画播放完毕。对应还有p代表play表示如果系统启动完毕了动画将停止播放。1代表当前文件夹下的图像播放一次。2则播放两次如果无限播放则设为0。30代表两帧之间的间隔时长单位是帧30则刚好间隔1秒因为我们设置的图像显示的帧率为30。 part0表示当前播放的图像文件夹重点压缩成zip时压缩方式必须为存储压缩Ubuntu中存储压缩为 进入bootanimation文件夹输入命令 zip -r -0 bootanimation.zip part1 desc.txt # 我的文件只有part1和desc.txt开机动画的一些分析在/frameworks/base/cmds/bootanimation/BootAnimation.cpp中的bool BootAnimation::threadLoop() { ....... if (mVideoAnimation) { result video(); } else { // We have no bootanimation file, so we use the stock android logo // animation. if (mZipFileName.isEmpty()) { ALOGD(No animation file); result android(); // 如果没找到bootanimation.zip就使用静态的图片开机 } else { result movie(); // 使用bootanimation.zip } } ....... }