[Mtk] 开机动画制作方法

时间:2024-02-29 18:59:38

适用平台:MTK

适用版本:M,L1,L,KK

开机动画由3部分组成:第一阶段动画(多张图片),第二阶段动画(多张),播放控制文件。除了这3各部分,不能有其他任何文件。

其中第一阶段动画放到一个目录下,通常命名为:part0;第二阶段动画同样放到另一个目录下,通常命名为:part1。当然,你也可以自行命名。

制作开机动画并不难,只要掌握其中动画播放控制就能*进行制作了。动画的播放控制是使用文本文件控制的,这个文本文件的命名必须是:desc.txt

播放控制文本的内容在格式上有明确要求:文本只能有3行,各参数必须使用单个空格隔开。如下示例:

320 480 30

p 1 0 part0

p 0 0 part1

想知道这些参数分别指的什么,请看下图:

2035681-ab0929297c818f1f.png
图1/控制文本参数说明

这里的循环次数具体意思是:0,无限循环;1,一次;2,两次;3,三次;以此类推......

通常我们将整个动画的所有动画的图片按帧顺序进行命名,然后放到part0目录下;将动画的最后一帧图放到part1目录下,这里的最后一帧也就是我们的动画播放完之后要停留的那一帧图。要注意的是,图标命名必须是按帧,以递增的方式进行命名,如下示例:

2035681-44acc6dda6005bb9.png
图2/第一阶段动画图片命名示例

在上述操作完成之后,我们接着要将part0、part1、desc.txt,这3个部分打包成zip压缩文件,文件命名为:bootanimation.zip。

在打包压缩文件的时候要注意一下:如果是Linux环境,直接命令打包即可;如果是Windows环境,建议使用好压进行打包,打包的时候,压缩方式一定要选择“存储”,否则可能将Windows系统下的图片缩略文件打包进去,进而导致动画包制作失败。

2035681-d063653381add047.png
图3/好压打包注意点

在成功打包之后,我们的开机动画包就算制作成功了。接下来就是将动画包预置进工程资源目录里面。这里我们将bootanimation.zip包拷贝到frameworks\base\data\sounds目录下。接着需要对同目录下的 frameworks\base\data\sounds\AllAudio.mk文件进行修改,在文件里面的:PRODUCT_COPY_FILES += \节点的最后添加下面的代码:

$(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip

上面这条命令就是告诉编译工具将我们制作的bootanimation.zip包编译输出到system\media\目录下。

这里添加命令的时候要注意,如果PRODUCT_COPY_FILES节点最后一行后面没有“\”,则要加上“\”,然后换行添加我们的命令。这里“\”是换行的意思,即告诉编译工具,这里要换行了,下一行要接着读取。如果PRODUCT_COPY_FILES节点的最后一行有“\”,那它后面必须要存在换行,哪怕是空白行。

上面预置成功之后,就可以再次Build我们的工程了,Build完成之后,刷进去开机就能看到开机动画了。