您的位置:首页 > 移动开发 > Android开发

修改Android的开机画面

2011-03-04 12:38 309 查看
了解老码农个人隐私,请看这里:http://www.koulianbing.com/?page_id=12

Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。

第一个过程显示的画面是一张图,第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方。



第一个过程的修改比较简单,找到/system/core/init/init.h中的宏定义:

#define INIT_IMAGE_FILE "/initlogo.rle"

把这个文件一替换再重新编译系统就可以了。



第二个过程是个动画,要修改的话就麻烦一些,可以发挥的空间也更大一些。



主要的控制代码在/base/cmds/bootanimation/BootAnimation.cpp中。这个文件定义了对动画显示规则的解析,所以,我们可以通过在bootanimation.zip中包含的描述文件来很简单地定义动画显示。只要把开机动画按一定规则做成bootanimation.zip压缩包存放在系统的/data/local/或/system/media/这两个目录下。开机时,系统检测到这两个目录任意一个下面有名字为bootanimation.zip的压缩包的话,都会解压并播放里面定制的动画。检测顺序是先检测/data/local/再检测/system/media/。

关于bootanimation.zip,这里有一篇扫盲的文章:
http://bbs.gfan.com/android-146253-1-1.html
这里有一些做好的资源,可以直接下载下来把名字改为bootanimation.zip后使用:
http://dl.dbank.com/c0x2pirlfj


另一个需要关注的地方是/frameworks/base/core/res/assets/images/这个目录。因为在默认情况下,BootAnimation.cpp中的动画控制代码会使用变量mAndroid里面包含的两张图片来做为显示动画。所以,通过这里可以用另外一种方式修改动画。我们要做的就是直接做好图片替换掉/frameworks/base/core/res/assets/images/中的两个文件,不过自己要控制尺寸。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: