Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407193
  • 博文数量: 120
  • 博客积分: 3125
  • 博客等级: 中校
  • 技术积分: 1100
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-29 10:59
文章分类

全部博文(120)

文章存档

2012年(28)

2011年(22)

2010年(34)

2009年(1)

2008年(35)

我的朋友

分类: LINUX

2011-07-07 17:11:56

Android 开机会出现3个画面:
a. Linux 系统启动,出现Linux小企鹅画面(reboot);
b. Android平台启动初始化,出现"A N D R I O D"文字字样画面;
c. Android平台上层图形系统启动,出现含闪动的ANDROID字样的动画图片(start)。
1/ 开机图片(Linux小企鹅)
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
2/ 开机文字("A N D R I O D")
Android 系统启动后,读取 /initlogo.rle(一张565 rle压缩的位图),如果读取成功,测在/dev/graphics/fb0显示Logo图片;如果读取失败,则将/dev/tty0设为TEXT模式,并打开/dev/tty0,输出文本“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文件的制作步骤:
a. 使用GIMP或者Advanced Batch Converter软件,将图象转换为RAW格式;
b. 使用Android自带的rgb2565工具,将RAW格式文件转换为RLE格式(如:rgb2565 -rle < initlogo.raw > initlogo.rle)。
3/ 开机动画(闪动的Android字样的动画图片)
Android 的系统登录动画类似于Windows系统的滚动条,是由前景和背景两张PNG图片组成,这两张图片存在于/system/framework /framework-res.apk文件当中。前景图片(android-logo-mask.png)上的Android文字部分镂空,背景图片(android-logo-shine.png)则是简单的纹理。系统登录时,前景图片在最上层显示,程序代码控制背景图片连续滚动,透过前景图片文字镂空部分滚动显示背景纹理,从而实现动画效果。
相关代码:
/frameworks/base/libs/surfaceflinger/BootAnimation.h
/frameworks/base/libs/surfaceflinger/BootAnimation.cpp
/frameworks/base/core/res/assets/images/Android-logo-mask.png
Android默认的前景图片,文字部分镂空,大小256×64
/frameworks/base/core/res/assets/images/Android-logo-shine.png
Android默认的背景图片,有动感效果,大小512×64

本篇文章来源于 Linux公社网站()  原文链接:
 
Android启动动画需要一个bootanimation.zip, bootanimation.zip 放在 /system/media 目录下。
bootanimation 格式:
bootanimation.zip 里面包含part1 part2文件夹 和 desc.txt
tree
.
|-- desc.txt
|-- part0
|   |-- tianyi_00000.png
|   |-- tianyi_00001.png
|   |-- tianyi_00002.png
|   |-- tianyi_00003.png
|   |-- tianyi_00004.png
|   |-- tianyi_00005.png
|   |-- tianyi_00006.png
|   |-- tianyi_00007.png
|   |-- tianyi_00008.png
|   |-- tianyi_00009.png
|   |-- tianyi_00010.png
|   |-- tianyi_00011.png
|   |-- tianyi_00012.png
|   |-- tianyi_00013.png
|   |-- tianyi_00014.png
|   |-- tianyi_00015.png
|   |-- tianyi_00016.png
|   |-- tianyi_00017.png
|   |-- tianyi_00018.png
|   |-- tianyi_00019.png
|   |-- tianyi_00020.png
|   |-- tianyi_00021.png
|   |-- tianyi_00022.png
|   |-- tianyi_00023.png
|   |-- tianyi_00024.png
|   |-- tianyi_00025.png
|   |-- tianyi_00026.png
|   `-- tianyi_00027.png
`-- part1
    `-- tianyi_00028.png
part0, part1 文件夹里面放的是动画拆分的图片,格式为png .
desc.txt里面是播放 的设置 .
desc.txt格式 :
cat desc.txt
320 480 10
p 1 0 part0
p 0 0 part1

320 480是指显示的分辨率 宽 高
10是一秒的帧数
p后面的数字是指播放次数 0为循环
后面那位数字 一般为0
part0 为文件夹名
为什么要用两个文件夹呢? 一般 :
part1是播放一遍的
part2是循环播放直到开机
打包:
打包的时候一定不要压缩文件(压缩比为0)。
如果是在 linux下面,用下面的命令:
cd directory/that/contains/desc.txt/and/part0/part1/
zip -r -X -Z store ../bootanimation part*/*.png desc.txt
本篇文章来源于 Linux公社网站()  原文链接:
 
android rle格式开机logo制作

用图片工具编辑好想要的png之后,保存为logo.png

在logo.png所在命令下执行命令:

使用ImageMagick自带的convert命令,进行raw格式转换
convert -depth 8 logo.png rgb:logo.raw

Android自带的rgb2565工具,对raw文件进行rle565格式转换
$(SRC_HOME)/out/host/linux-x86/bin/rgb2565 -rle initlogo.rle

然后将initlogo.rle拷贝到Android系统根目录,也就是root目录底下
cp initlogo.rle root/

注意:该图片名称必须为initlogo.rle,当然也可以修改,那就需要修改$(SRC_HOME)/system/core/init /init.h文件中相应的宏。

阅读(890) | 评论(0) | 转发(0) |
0

上一篇:Android Launcher 分析

下一篇:git branch

给主人留下些什么吧!~~