原博文地址:http://blog.csdn.net/wanglj0925/article/details/9627381
最近项目里要实现修改开机动画 屏蔽系统桌面等一些涉及到修改底层的功能 一开始研究了一番 心想着看来这是要定制系统 做rom开发了 所以就牛逼哄哄的跑去下源码 研究rom开发 后来发现这将是一个庞大的工程 不是我一个人能搞定的 就只能想别的法子啦!
思路就是下载现成的rom进行修改,修改开机动画文件,自定义锁屏替换rom中的锁屏apk,自定义launcher替换rom中的锁屏apk.
1.首先下载对应机型的rom文件后缀是zip的压缩文件,我这里是用华为C8813做实验的。
2.解压出你下载的rom看下目录结构。
每个rom的目录结构都可能不太一样但是大体上还是一样的 其中的boot.img文件比较核心貌似什么内核文 件,所以别去动它,打开system目录下面的app目录,可以看到这里放的就是系统的一些应用的apk文件了。
3.上面简单的介绍了下rom,网上有很多相关的资料说明。下面开始修改开机动画和替换rom的apk。
步骤很简单找到开机动画所在目录,华为这款rom的开机动画目录是在cust\chinatelecom\cn\media下面这里 有俩个zip压缩文件
不同的rom中开机动画所在目录也是不一样的一般都在system\media目录下,不过文件名字都一样只要在你们 rom中搜索bootanimation.zip文件就可以快速找到所在了。
这里有个操作需要注意下,所有的修改替换操作都必须用WINRAR压缩软件(或者其他的压缩软件)直接打开压 缩包,然后进行添加或删除操作,不可以直接解压出来改完了再打包压缩回去,这样你修改之后的rom很可能没
用,因为rom在开发过程中打包的环境和你当前的环境可能不一样。
好了找到开机动画文件之后我们可以用winrar软件打开来看一下
part0和part1文件夹下就是一些开机动画的图片,原理就是动画做完之后导出一帧一帧的图片,播放时就按顺序播放这些图片,还有一个desc.txt文件,这个文件就是用来控制动画播放的一下参数的。
简要的介绍一下这些参数(摘自网络):
480854意思是说你开机动画在屏幕先以多少的分辨率显示,30这个数字是代表着每秒播放的帧数,拿我这个开机画面打个比方说,part0文件夹里面共76个图片,播放时间就是76/30=2.533333秒播放完毕,当然在手机里面会有一定的延时,尤其是你的图片文件比较大的情况下,手机想播快也快不起来.
以下部分是实现画面重复位置的
p1(代表着播放一次)0(空指令)part0*/这句指令就代表这part0文件夹内的图片只按名称顺序播放一次,p0(重复播放)0(空指令)part1*/这一句指令代表着part1文件夹内的图片会循环反复播放opda.com.cn/forum.php还有一种是指令不常用,我也来解释一下吧;
p010part1这里面的那个10代表着播放完part1文件夹内的图片一遍之后稍作停顿,然后再循环播放一遍,再停顿少许,再播放,再停顿稍许·········重复下去
p110part1同理,这句代表着播放完part1文件夹内的图片之后稍作停顿然后继续执行吓一条命令。
如果想作出一些特殊的效果,可以活用这些命令,然后分配不同的图片在各个文件夹里来实现各种重复与循环。
现在就可以把你自己的开机动画图片放到part0和part1文件下了
这你如果你没压缩成zip和存储方式时开机时手机会不认你修改之后的动画,就一直黑屏没有动画显示 知道进入系统为止。
4.替换rom中apk文件
我这里自定义了一个锁屏和launcherapk,找到\system\app目录下的rom中默认的桌面和锁屏apk,将自己自定义的apk文件命名成和其一样,然后替换,添加方式和修改动画师一样的,压缩zip格式存储方式。根据各自rom的不同,一些软件可能不在这个目录下,像华为这款rom的锁屏不在app目录下而是在\system\delapp目录下,到时候就得根据自己需要自己去找了。
所有工作都做完了之后就可以用这个修改之后的rom进行刷机了。刷完之后进入系统看到的锁屏和launcher就是我自定义的了,希望你不会刷成砖,我比较幸运 嘻嘻。以上就是我这次的经验分享,关于rom修改网上还有更多优秀的资料,只要自己肯去努力研究,就必定会取得成功,那种满满的成就感 吼吼 简直太美好了