本文转自安卓网-文星慧,原帖见:http://www.hiapk.com/bbs/thread-429466-1-1.html。
开机动画文件是bootanimation.zip,默认存放在system/media/下,我们自己也可放在data/local/下,如果是data/local/目录下有这文件,则会优先用这个,而且也不需要获取root权限就能放了。
bootanimation.zip文件是zip压缩文件,压缩方式要求是存储压缩,包含一个文件和两个目录:1.动画属性描述文件:desc.txt
2.第一阶段动画图片目录:part0
3.第二阶段动画图片目录:part1
desc.txt文件内容:
480 427 30
p 1 0 part0
p 0 10 part1
desc.txt文件分析:
480 427 30
宽 高 帧数
p 1 0 part0
标志符 循环次数 阶段切换间隔时间 对应目录名
p 0 10 part1
标志符 循环次数 阶段切换间隔时间 对应目录名
==================
标志符:
必须是: p
循环次数:
0 : 表示本阶段无限循环
阶段切换间隔时间:
单位是一个帧的持续时间,比如帧数是30,那么帧的持续时间就是1秒/30 = 33.3毫秒。
阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。
也就是间隔长启动会快,但会影响动画效果。
part0和part1目录内包含的是两个动画的系列图片,图片为PNG格式。
系列图片文件的加载刷新按文件名的名称排序。
有人问到开机动画能删不?我的联通版的亲测过是可以删的,两个目录下的都删后还是开得了机的,删除后会恢复成安卓系统自带的开机动画,开机速度感觉比原来联通的沃动画快了。个人觉得原因是:在间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用的。而安卓系统自带的开机动画间隔时间比较长,因此就比较快了。
以上说的是开机动画,有的人问道第一和第二个开机画面能改吗,在这我就简单的说下,理论上是可以的,但因风险太大,不推荐改,我说下这两个画面的位置吧,勇敢的就去试试改吧:
第一个画面是解开app升级包后的splash.raw565。
第二个画面是解开boot.img后的initlogo.rle。
制作bootanimation.zip
首先从里面的图片说起 图片一定要转换成PNG格式,建议找到的图片要和自己机子的分辨率一样(小u的是240*320),如果不是也可以的 有可能变形 注意图片的大小要统一(如果不会做连接的图片组 直接找个适合自己分辨率的动态图片分解出PNG格式的静态图片,用ImageReady可以批量导出)。
建立part1 part2或android文件夹 放进一组连接的图片组。
开始压缩成ZIP格式 名字一定要bootanimation.zip 压缩方式一定是存储 压缩完了看下大小一般最大的2MB左右 太大了用JPEG Imager压缩下 压缩图片很好的。
开始写desc.txt
desc.txt 格式(解释看上面)
有2个文件夹 part1、part2的话
如小u的代码可这样:
240 320 15
p 1 1 part1
p 0 0 part2
保存后拖入bootanimation.zip里面OK,压缩方式要求是存储压缩.