我们要修改的是system>media文件夹下的bootanimation.zip(手机开机动画)这个文件

先来讲讲这个文件结构:该zip解压后得到两个文件,

第一个目录存放了开机时播放的图片(图为佳域G3原厂的动绘图片包),见下图:

图片编号001,002,.......010这些是用来控制图片播放顺序的

。第二个 desc. txt的文本文档存放的数据和文字用来控制播放图片的速度(帧速)和播放方式,见下图:

以下解说这些文字数据的含义:720表示图片像素宽为720像素点

1280表示图片高为1280像素点

10表示以10帧每秒的速度播放这些图片

P是play的首字母,意味着播放

第一个0表示动画循环播放,直到开机(假设此处为1表示仅仅播放一遍)

第二个0表示一组图片播放完到下一组图片延时为0秒(此处不用管,由于一般一组图片就

行了,后面会再讲)

folder1为存放图片的目录名称。

总之,通俗讲,就是开机logo显示完以后,系统以10张每秒的速度播放folder1目录中的图片,图片大小为720*1280,并不断循环播放这组图片直到开机。

讲完了结构,能够来开工了!(强烈建议,直接把自己要用的图片组命名为001,002, 003, 004.........格式为png或jpg都行,大小必须为720*1280,把图片直接复制进bootanimation.zip的folder1目录中,并删掉原来的10张图片, 控制文本desc. txt直接改动即可,不要自己新建!避免带来不必要麻烦!由于安卓基于linux系统,windows下编码不同,直接编写的desc.txt是无法控制图片播放的)。

Android 开机事实上总共会出现3个画面:

1、第一个就是 linux 系统启动,出现Linux小企鹅画面(reboot);

2、当android系统从Linux内核启动后,将会运行anddroid平台的初始化过程,屏幕上将会出现”A N D R I O D”文字字样画面(可是在我的系统里这个界面并不没有出现;或者说是肉眼没有看到这个画面的出现,这里依旧送上这个画面的改动方法);

3、开机动画:这个阶段就是大家能看到的系统启动过程中,显示完"A N D R O I D"字样后显示的图片,类似进度条一样,图片内容也是“A N D R O I D”字样。

第一个(小企鹅)画面的改动:

Linux Kernel引导启动后,载入该图片,涉及到的代码在例如以下的文件夹中:

/kernel/trunk/drivers/video/fbmem.c

/kernel/trunk/drivers/video/fbmem.h

/kernel/trunk/drivers/video/logo/logo.c

/kernel/trunk/drivers/video/logo/logo.h

/kernel/trunk/drivers/video/logo/Kconfig

/kernel/trunk/include/linux/linux_logo.h

让内核中加入此开机logo的过程例如以下:

1、让内核支持启动LOGO

在内核文件夹中 make menuconfig

Device Drivers ---->   Graphics support ---->

选中 Bootup logo ----> Standard 224-color Linux logo

2、制作开机logo的图片

将要当作开机LOGO的图片依照你屏幕的大小进行裁减,并将其保存为bmp格式 或 png格式; 比如linuxlogo.bmp 或 linuxlogo.png

在linux下输入下面命令(for bmp):

#bmptoppm linuxlogo.bmp > linuxlogo.ppm                             //生成ppm

#ppmquant 224 linuxlogo.ppm > linuxlogo224.ppm                   //转换成224颜色

#pnmnoraw linuxlogo224.ppm > linuxlogo224.ppm                   //转换成ascii格式

在Linux下输入下面命令(for png):

# pngtopnm linuxlogo.png > linuxlogo.pnm

# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm

# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm

注:上述命令须要安装netpbm的工具包 sudo apt-get install netpbm

3、将LOGO文件放入内核中

复制到制作好的LOGO文件到  /drivers/video/logo 目录

替换 logo_linux_clut224.ppm 文件,还要删除该目录下的logo_linux_clut224.o和logo_linux_clut224.c

4、又一次编译内核就OK了!这里就不详说。

第二个(”A N D R I O D”文字字样画面)画面的改动:

相关代码:

/system/core/init/init.c

/system/core/init/init.h

/system/core/init/init.rc

/system/core/init/logo.c

*.rle文件的制作步骤:

1). 制作当前屏幕像素的图片

使用PS制作一张适合屏幕大小的图片,保存时选“保存为 Web 所用格式”,然后在弹开的窗体上,“预设”项选择“PNG-24”,保存为android_logo.png(

注:好像仅仅支持png-24,其它格式生成的rle文件显示不正常,有兴趣大家能够再验证一下。

2). 将图片转换为raw格式

使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:

convert -depth 8 android_logo.png rgb:android_logo.raw

注:ubuntu 10.04 默认已经安装ImgageMagick工具,假设当前系统没有安装,能够运行以下的命令安装:

sudo apt-get install imagemagick

3). 将raw格式转化为rle文件

须要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin文件夹下(android为当前源代码所在文件夹),转换命令例如以下:

rgb2565 -rle < android_logo.raw > initlogo.rle

到眼下为止,启动须要显示的图像已经做好了,就是initlogo.rle,注意文件名称必须是这个,假设想改文件名称,须要改动

android/system/core/init/init.h中的宏:

#define INIT_IMAGE_FILE "/initlogo.rle"

4).将制作好的initlogo.rle文件复制到android系统的root文件夹下,也就是out/target/product/..../root下

最后编译成文件系统镜像   xxx.img又一次烧写。OK。

第三个(开机动画)画面

事实上这个部分的动画是使用两个图片显示出来的,详细的图片文件所在路径为:frameworks/base/core/res/assets/images,大家看一下就知道了,也就知道怎么改动了。

和这部分相关的源代码文件主要是例如以下几个:frameworks/base/cmds/bootanimation以下的几个文件就是的了,能够看看BootAnimation.cpp文件的内容,有例如以下代码片段:

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");

initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets, "images/android-logo-mask.png");

initTexture(&mAndroid[1], mAssets, "images/android-logo-shine.png");           这就是设置显示的前景图片和背景图片。

接着看还有例如以下代码:

[cpp] #define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"

#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"

#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"

#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"          看宏名相信大家就知道了,这就是设置动画文件的名称了。为什么会又显示图片又设置动画显示呢,这个Android版本号有关。显示两个图片:前景和背景图片 是在1.5版本号用,后来就改为了设置动画文件,就是:bootanimation.zip,是zip格式的,这个文件包括三个内容:两个文件夹:part0 和part1,一个文件desc.txt。

两个文件夹用来包括要显示的图片,分为第一阶段和第二阶段。剩下的文件就是设置关于怎样显示的信息:

示比例如以下:

480 800 15

p 1 0 part0

p 0 0 part1

详细的含义例如以下:

480--width of the image, 800--height of the image, 15--frames of second

p 1, display one time

p 0, display recycling till handset power on finished,相信大家懂了!呵呵。

你能够制作自己的bootanimation.zip文件放置在合适的文件夹下,这样能够取代默认的开机界面:这里说的合适的文件夹就是上面的宏定义,大家都懂^_^!

怎么制作bootanimation.zip文件呢?和上面一样创建两个文件夹和一个文件,然后使用软件或者是命令行大包就可以

zip -r -0 bootanimation.zip part0 part1 desc.txt

android的开机动画,设置安卓开机动画、开机logo相关推荐

  1. android手机电话铃声设置,安卓手机铃声怎么设置

    网上有很多安卓手机铃声的设置教程,说什么SD卡里建立这个那个的文件夹,那问题是怎么才能进到SD卡里去建立文件夹啊?手机里哪个选项里进去呢? 这里小编告诉你,可以通过电脑连接数据线管理SD卡.下面介绍两 ...

  2. 台式计算机开机密码设置,台式win10电脑开机密码怎么更改?改台式win10电脑开机密码的两种方法...

    给win10专业版电脑设置开机密码能够保护资料安全,不会被人轻易看到.开机密码是指我们在打开台式电脑后只有在输入正确的密码后才能进入系统.出于安全性考虑我们会设置比较复杂的密码,但是很多人不明白台式w ...

  3. android 手机存储大小设置,安卓手机怎么设置增加虚拟内存

    有许多使用安卓的小伙伴说自己内存一直是不够用,其实我们通过设置它的虚拟内存来解决,下面是学习啦小编为大家介绍安卓手机设置增加虚拟内存的方法,欢迎大家阅读. 安卓手机设置增加虚拟内存的方法 1这里只讲解 ...

  4. Android动画之LayoutTransition布局动画

    动画入门和进阶文章列表: Animation动画概述和执行原理 Android动画之补间动画TweenAnimation Android动画之逐帧动画FrameAnimation Android动画之 ...

  5. Android帧动画和补间动画

    目录 1.帧动画 (帧动画的资源文件,放在drawable文件夹下) 1.创建一个项目 2.导入资源, 将图片资源放入 mipmap 文件夹下 3.编写资源文件 在drawable文件夹创建 4.在x ...

  6. iOS动画专题·UIView二维形变动画与CAAnimation核心动画

    点击上方"iOS开发",选择"置顶公众号" 关键时刻,第一时间送达! 1. iOS动画 总的来说,从涉及类的形式来看,iOS动画有:基于UIView的仿射形变动 ...

  7. iOS 动画专题(UIView二维形变动画与CAAnimation核心动画)

    文章目录 1. iOS动画 2. UIView动画 2.1 设置UIView动画的两种语法形式 2.2 设置属性形变动画的两种类型 2.3 与动画相关的属性 2.3.1 UIView与动画相关的属性- ...

  8. jQuery动画(jQuery预制动画,jQuery自定义动画,jQuery停止动画和延迟动画)

    目录 jQuery预制动画 显示隐藏动画 上拉下拉动画(高度动画) 淡入淡出动画(透明度动画) jQuery自定义动画 jQuery停止动画和延迟动画等 jQuery预制动画 jquery的预制动画 ...

  9. android6.0关机动画,安卓系统修改开机动画,关机动画

    开机动画 两种开机动画 关于安卓动画的研究主要在frameworks/base/cmds/bootanimation/BootAnimation.cpp中. 安卓系统默认的开机动画(谷歌)的动画是显示 ...

  10. Android开机动画没有声音,Android 定制机合约机去除运营商开机动画和声音

    单位发了个三星的 Android 手机,是个电信的定制机(与配图无关),也叫合约机吧!其它先不说,讨厌它的开机时的动画和声音,如何去除?如果你的手机为移动定制版,对应的目录为"/cust/c ...

最新文章

  1. 【Git】在本地创建git库管理自己的代码
  2. 哪个websocket库与Node.js一起使用? [关闭]
  3. php获取longtext字段为空,php – 在longtext字段上准备好的mysqli select语句将返回空...
  4. 数学建模论文参考大礼包
  5. ajax请求 禁用缓存,jQuery ajax缓存禁用无法正常工作?
  6. 单片机(MCU)如何才能不死机之对齐访问(Aligned Access)
  7. 如何让网页首屏更具视觉吸引力?
  8. python作用域顺序排列_详解Python函数作用域的LEGB顺序
  9. comment on 视图_oracle 使用comment语句添加表注释
  10. MySQL按照汉字拼音首字母排序
  11. SQL中 NVL()函数的使用
  12. pycharm编程工具自带python环境_PyCharm配置Python3开发环境
  13. 使用mutt和msmtp发送邮件
  14. 批量爬取微信公众号下的音频
  15. UnityShader-平行光和点光源的基础介绍和使用
  16. 信号与系统(十八)——傅里叶变换及性质(2)
  17. 【C实现算法00】一个数组中除一个(两个)数只出现一次外其它数字都出现了两次,找出这个数,编程实现。
  18. python调用打印机打印图片
  19. 基于深度学习智能问答笔记
  20. java xml sql_走进 SQL/XML

热门文章

  1. 【暴力破解】字典工具
  2. sql数据库如何分离
  3. Qt 环境下MAPX组件的编程
  4. hibernate详细教程(入门到熟练)
  5. java爬虫框架哪个好_Java爬虫(二)Java爬虫框架
  6. 四川开大c语言程序设计0002,C语言程序设计0002.pdf
  7. 网站中应用QQ一键登录,详细讲解和范例
  8. fiddler4+雷电模拟器4.0.82抓包设置
  9. vb html转义字符,在VB中用什么转义字符表示双引号
  10. python fread_fwrite 和 fread函数的用法小结