首先,在桌面新建一个test文件夹,并在该目录下新建2个文件夹folder1和folder2。
连接Android设备,在cmd窗口中使用adb shell
后,使用 wm size
,查看设备的分辨率。结果为 Physical size: 480x320
,因此需要图片像素大小为480x320。打开画图新建一个像素大小480x320的图片即可。
然后,画四张图,分别命名为1,2,3,4,格式一般存为png或bmp。这里我使用的是bmp格式。
把上面自定义的这4张图片,放到folder1文件夹中。
然后重新画四张图,放到folder2文件夹中,如下所示。
然后在test目录下,新建desc.txt文件,具体内容如下。
480 320 1
p 3 2 folder1
p 1 2 folder2
第一行中480 320是分辨率,1代表每秒播放1帧。帧就是指“画面”,1幅画就叫做“1帧”。这里我设定为每秒播放1张图片。
第二行 folder1文件夹下的图片,播放3遍(即动画播放3遍),2是指播放完当前文件夹中的动画后,暂停的帧数(当前帧数为1,暂停2帧就是暂停2秒)。
第三行的实际意义我没有弄清楚。经过我实际测试,我使用的设备实际开机动画并未播放folder2目录下的图片,但是如果不写入folder2并且不打包进bootanimation.zip,开机动画会不执行,可能是由于有其他地方被修改了但是我没有发现的缘故。
此时,test目录下存在2个文件夹,一个文件。
然后,选中这3个文件。
将其压缩为名为bootanimation.zip
的压缩包,压缩方式要选择存储
然后,开机动画文件就制作完成,此时,可先进行测试,不打包。
先将bootanimation.zip放到windows的adb目录下,例如我的是
C:\Users\admin
。然后使用如下命令,将文件放进system/media/目录下并给权限,再重启后就可以看到自定义的开机动画了。
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文件放进源码目录下并且修改mk文件。
例如,可以把bootanimation.zip放进device/mediatek/common/
这个目录下,然后在device/mediatek/common/device.mk
中新增一句
PRODUCT_COPY_FILES += \ device/mediatek/common/bootanimation.zip:system/media/bootanimation.zip
或
PRODUCT_COPY_FILES += $(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
这样,在编译的时候,就会把bootanimation.zip文件copy到system/media下。
参考链接:
Android 更换开机logo和开机动画
Android 开关机动画规范
Android O 8.0 自定义开机动画/开机铃声
[Mtk] 开机动画制作方法
Android 修改开机动画(bootanimation)
Android8.1 修改开机动画