linux内核启动成功后,安卓系统会优先使用/system/media/bootanimation.zip动画文件,如果找不到这个文件会运行安卓默认的动画。所以我们把开机动画文件bootanimation.zip放到安卓文件系统的system/media/即可。本章使用的是360压缩软件,不同软件可能会有差异,为避免出现各种问题请与手册保持一致使用360压缩。 步骤一: 定制开机动画 先来了解一下bootanimation.zip 这个文件的内部结构, 我们可以看到这个压缩包里面一共有三个文件, part1 和 part2 是俩个存放我们动画图片文件夹,动画图片必须为 png 或者 jpg 格式, 动画图片一般是由美工来负责,与技术人员关系不大, desc 文本文件是对我们安卓动画的一个描述。我们重点来说一下这个 desc 文本文件, 这个文本文件名称统一为 desc。 这个文本文件只有三行代码,我们来逐行分析一下,其中: 272 480 5: 272 480 代表我们图片的分辨率, 这个分辨率要和我们屏幕分辨率一致, 5 是每秒播放的帧数,也就是每秒播放 5 张图片,那么播放一张图片就是 0.2s,我们可以调节这个参数来调节我们显示的效果和动画的播放速度。每个参数中间用空格隔开, 每行代码结束后必须回车换行。 p 1 0 part0 p 为标识符, 1 代表循环次数,也就是循环一次, 0 代表阶段间隔时间为 0, part0 代码我们存放第一阶段动画的文件夹,那么这句话的意思为 part0 文件里面的动画循环播放一次,阶段间隔时间为 0。阶段间隔时间的单位是一个帧的持续时间,这个时间越长,启动会快,但是会影响显示效果,所以这里我们一般设置为 0。每个参数中间用空格隔开,每行代码结束后必须回车换行。 p 0 0 part1 第二个参数 0 为循环播放,直到开机启动,一般我们把动画的最后一张设置为循环播放, 其他参数同上, 每个参数中间用空格隔开,每行代码结束后必须回车换行。 大家参考网上的教程不成功, 基本上都是因为格式这些细节的问题,所以千万要记得回车换行。 准备好这些文件之后,我们自己选中这三个文件,压缩的时候是同时选中这几个文件(而不是先把文件放在一个文件夹里,再压缩这个文件夹),压缩的时候我们要选择存储的方式进行压缩, 如果用别的方式,系统不会播放我们的动画的。 下面详细介绍制作过程。 全部选中三个文件,如下图: 右键使用360压缩软件进行压缩,点击“添加到压缩文件”如下图: 然后更改压缩文件名为bootanimation.zip,压缩配置选择“自定义选项”,如下图: 在对话框中的压缩方式中选择“存储”,如下图: 点击“立即压缩”,生成bootanimation.zip文件, 以iTOP-4418安卓4.4系统为例,将生成的bootanimation.zip拷贝到安卓源码的device/nexell/drone2路径下,改变权限,输入 chmod 777 bootanimation.zip 回到安卓4.4源码目录,打开device/nexell/drone2/device.mk , vi device/nexell/drone2/device.mk 表2:device.mk路径 | | | | device/nexell/drone2/device.mk | device/nexell/s5p4418_drone/device.mk | | device/nexell/drone2/device.mk | device/nexell/s5p6818_drone/device.mk |
添加以下信息,将device/nexell/drone2/bootanimation.zip拷贝到安卓文件系统的system/media/路径下, PRODUCT_COPY_FILES += \ device/nexell/drone2/bootanimation.zip:system/media/bootanimation.zip 如下图: 然后编译安卓源码,将镜像烧写到开发板,linux内核启动后即可看到安卓系统开机动画。 在安卓系统的 /system/media/路径下可以看到bootanimation.zip文件
|