更换android开机动画须选择好正确的压缩格式

之前的工作基本是linux底层驱动相关,近期也慢慢开始逐步接触android上层。最近有个客户项目需要更换开机动画,原本以为只是个简单的工作,将\system\media目录下的bootanimation.zip压缩文件内的图片更换,并根据新图片重新设置desc.txt中的参数即可。但真正做起来也小费周折,因此将它简单记录下来。

我们知道,bootanimation.zip是Android的动画文件包,是由一系列的连续PNG图片及desc.txt配置文件压缩而成。
具体的动画图片就不去描述,我们重点看desc.txt这个动画配置文件。打开该文件,看到如下类似内容:
854 480 7
p 1 2 folder1
p 0 2 folder2
下面对上述参数进行解释:
854 480 7     ----854 480代表动画的分辨率,854代表动画的宽度,480代表动画的高度;7则代表帧率,也就是一秒钟播放多少幅动画图片;
p 1 2 folder1 ----这里的p为标志符,1代表循环次数,2代表阶段间隔时间,folder1代表对应的动画文件夹名;

循环次数:0 : 表示无限循环。

阶段切换间隔时间:单位是一个帧的持续时间,阶段切换间隔时间期间开机动画进程进入休眠,把CPU时间让给初始化系统使用。也就是间隔长启动会快,但会影响动画效果。


通常,第一个文件夹folder1,只播放一次,播放一次的时间需要小于系统原本开机的时间,否则会拖慢开机速度(播放完才进系统);第二个文件夹folder2,循环播放无限次,随时可以推出播放,也就是只要开机加载完毕就可以直接跳到系统。

desc.txt了解完毕后,简单说下我的更换动画的调试流程:
1. 首先更换好新的开机动画,并对应修改desc.txt中的动画参数。将修改后的三个文件夹打包压缩,压缩时选择zip格式(由于我是在ubuntu linux操作系统下编译)。重新编译系统,下载开机,发现开机显示完logo后系统黑屏一段时间后直接进入launcher,开机动画没有播放。这唱的是哪家的戏,我满腹疑惑。
2. 难道是新替换的动画图片有问题?将新替换的图片恢复回旧图片,再试,仍然是黑屏,不播放动画;
3. 难道是这套android代码不支持横屏分辨率的动画(默认是竖屏的动画)?于是将desc.txt修改回默认参数,再试,仍然是黑屏,不播放动画,我去,今天遇上鬼了。
4. 直接将原先播放正常的bootanimation.zip解压缩,然后重新打包,再试,仍然是黑屏,不播放动画,至此,可以确认是播放动画压缩包格式的问题了。

5. 上网一搜,看到了相关说明:须在windows中压缩,选择zip压缩文件格式,压缩方式要求是存储压缩。遂照此进行,成功。




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值