1.开机动画制作
开机动画资源文件:bootanimation.zip
解压后的文件目录:
desc.txt文件内容:
512 416 60 代表的分别是宽,高,帧数;具体为:开机动画的宽度为512个像素点,高度为416个像素点,显示频率为每秒60帧,即每帧显示1/60秒。
c 1 0 part0 代表的分别是片段类型,循环次数,阶段切换间隔时间,对应目录名;从第2行开始,每一行代表一个片段,显示的时候会按照顺序从上到下依次显示。
第1个字符为片段类型,有'c'和'p'两种,p表示动画可能会中断,c表示即便是android启动进程完成,也会继续等待动画播放结束后进入界面,目前用c比较多。
第2个数字为该片段重复显示的次数,如果为‘0’,表示会无限重复显示;
第3个数字为两次显示之间的间隔,单位为第一行中定义的每帧显示的时间;
第4个字符串为该片段所在的文件夹,一个片段可以由多个png图片组成,都存放在folder文件夹中。
这里:
c 1 0 part0 代表该片段显示1次,与下一个片段间隔0s,该片段的显示图路径为bootanimation.zip/part0。
c 1 15 part1 代表该片段显示1次,显示后暂停15*(1/60)=0.25s,该片段的显示图路径为 bootanimation.zip/part1。
p 0 0 part4 代表该片段无限循环显示,与下一个片段间隔0s,该片段的显示图片路径为bootanimation.zip/part4。
制作开机动画要点:
(1)要直接选中part0,partX,desc.txt等压缩即可,不需要封装成bootanimation文件夹再进行压缩;
(2)压缩率要为0,即在压缩方式要选择存储
PS.desc.txt文件编辑后最后一行一定要记得换行,让光标切换到空白一行去(与修改前保持一致),要不然在替换原生动画之后也无法读出动画资源(此条没有遇到过,网摘)
2.调试开机动画
(1)调试时可以拷贝进系统中(system/media/目录下),直接运行 bootanimation 进行单独调试
(2)在多分辨率适配bootanimation的时候会创建:bootanimation.zip,bootanimation_540.zip,bootanimation_720.zip,bootanimation_1080.zip等,此时可以通过如下方法查看bootanimation程序运行在哪个文件:
bootanimation & //&的意思是在bootanimation运行的后台再执行lsof | grep "/system/media"
lsof | grep "/system/media"
3.开机动画多分辨率适配
(1)创建相应分辨率的bootanimation.zip文件
(2)把这些bootanimation.zip文件放在系统相应的位置,如放置在device/xxx/common/preinstall/bootanimation目录下,然后通过preinstall.mk文件,把这些文件拷贝到/system/media/目录下:
(3)在frameworks/base/cmds/bootanimation/BootAnimation.cpp中,添加以下修改: