desc.txt文件如下。
720 1280 10
p 0 0 folder1
注意这里要保证有3行。不然无法加载开机动画。
720 和1280分别是Android设备的宽度和高度(可通过adb shell后输入 wm size获取),同时 也是图片的宽度和高度(像素单位)。
如果设备是720x1280大小,但是UI发过来的图片大小不是720x1280 px的话,需要调整图片大小至720x1280(可通过画图工具调整),否则图片显示会自动缩放。
10是指每秒播放10张图片。如果觉得播放速度过快就把数据调低,觉得过慢就调高。
0 0 第一个0代表无限循环播放(应该是直到代码里面设置的动画时间耗完为止),第二个0不确定。如果改成p 1 0 folder1
,就表示只播放一次。
folder1是存放开机动画图片的文件夹名称。把图片放进去,按顺序(例如1,2,3依次命名)
图片文件命名这里有个坑,当图片数量比较少的情况下,例如不大于10张的情况下,可以使用0,1,2,3,4,5,6,7,8,9
去命名。但是当数量比较多的时候例如40多张,如果按顺序使用0,1,2,3,4,5,6,7,8,9,10,11......39,40,41
去给图片文件命名的话,会导致无法播放所有的图片,不会执行10以后的图片。这里要在个位数的命名前面补全。改成00,01,02,03,04,05,06,07,08,09,10,11......39,40,41
。
然后,选中folder1
和desc.txt
,将其压缩为名为bootanimation.zip
的压缩包,压缩方式要选择存储
使用adb快速测试制作的bootanimation.zip是否满足需求。
如果没有权限就使用下面的命令
adb push bootanimation.zip /sdcard/bootanimation.zip
adb shell
su
mount -o remount,rw /system
cp /sdcard/bootanimation.zip /system/media/bootanimation.zip
cd /system/media/
chmod 777 bootanimation.zip
如果确认bootanimation.zip满足需求的话,就把bootanimation.zip放到device/mediatek/common/目录下,并且修改device.mk文件,将bootanimation.zip添加到system/media目录下。
//device/mediatek/common/device.mk
PRODUCT_COPY_FILES += device/mediatek/common/bootanimation.zip:system/media/bootanimation.zip
另外,bootanimation.zip
不能太大,一般最好不要超过3M。经过我测试,如果超过太大会导致launcher
的壁纸加载异常。
开机logo
有2张图片。kernel
和uboot
。
首先确定ProjectConfig.mk
中BOOT_LOGO
指向的文件夹。
//device/mediateksample/k39tv1_bsp/ProjectConfig.mk
BOOT_LOGO = hd720
对应位置:
vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/hd720
里面有2张bmp格式的图片:hd720_kernel.bmp
和hd720_uboot.bmp
。把UI设计的图片重命名为hd720_kernel.bmp
和hd720_uboot.bmp
然后替换即可。
图片要求bmp
格式,大小为720x1280
,跟设备大小一致。
参考链接:
Android系统开机第一帧splash和Bootanimation修改
安卓手机开机动画bootanimation.zip文件制作以及注意事项
Android 开机动画客制化
Android 开关机动画规范
开机动画(bootanimation)配置