最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

android 开机logo修改

IT圈 admin 34浏览 0评论

2024年1月24日发(作者:辟丹蝶)

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格式; 例如 或

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

#bmptoppm >

//生成ppm

#ppmquant 224 >

//转换成224颜色

#pnmnoraw >

//转换成ascii格式

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

# pngtopnm >

# pnmquant 224 >

# pnmtoplainpnm >

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

netpbm

3、将LOGO文件放入内核中

拷贝到制作好的LOGO文件到 /drivers/video/logo 文件夹

替换 logo_linux_ 文件,还要删除该文件夹下的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/

/system/core/init/logo.c

*.rle文件的制作步骤:

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

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

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

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

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

convert -depth 8 android_ rgb:android_

注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:

sudo apt-get install imagemagick

sudo apt-get install graphicsmagick-imagemagick-compat

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

需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:

rgb2565 -rle < android_ >

到目前为止,启动需要显示的图像已经做好了,就是,注意文件名必须是这个,如果想改文件名,需要修改

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

#define INIT_IMAGE_FILE "/"

4).将制作好的文件拷贝到android系统的root目录下,也就是out/target/product/..../root下

最后编译成文件系统镜像 重新烧写。OK。

192.168.3.5Sharemx61sw_

加入拷贝动作。

192.168.3.5Sharemx61sw_

PRODUCT_COPY_FILES +=

device/fsl/common/input/Dell_Dell_USB_:system/usr/keylayout/Dell_Dell_USB_

device/fsl/common/input/Dell_Dell_USB_:system/usr/idc/Dell_Dell_USB_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/eGalax_Touch_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/HannStar_P1003_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/Novatek_NT11003_Touch_

device/fsl/imx6/etc/:root/

device/fsl/imx6/:root/

---------------------------------------------------------------------------

第三个(开机动画)画面

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

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

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets,

"images/");

initTexture(&mAndroid[1], mAssets,

"images/");

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets,

"images/");

initTexture(&mAndroid[1], mAssets,

"images/"); 这就是设置显示的前景图片和背景图片。

接着看还有如下代码:

[cpp] #define USER_BOOTANIMATION_FILE

"/data/local/"

#define SYSTEM_BOOTANIMATION_FILE

"/system/media/"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE

"/system/media/"

#define USER_BOOTANIMATION_FILE

"/data/local/"

#define SYSTEM_BOOTANIMATION_FILE

"/system/media/"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE

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

两个目录用来包含要显示的图片,分为第一阶段和第二阶段。剩下的文件就是设置关于如何显示的信息:

示例如下:

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,相信大家懂了!呵呵。

你可以制作自己的文件放置在合适的目录下,这样可以代替默认的开机界面:这里说的合适的目录就是上面的宏定义,大家都懂^_^!

怎么制作文件呢?和上面一样创建两个目录和一个文件,然后使用软件或者是命令行大包即可

zip -r -0 part0 part1

把制作的文件放入device/fsl/sabresd_6dq/raw/下面。

然后需要在codesRENAULT-OSmyandroiddevicefslsabresd_6dq

的文件中放入raw文件:

里面填写如下这句话:device/fsl/sabresd_6dq/raw/:system/media/

2024年1月24日发(作者:辟丹蝶)

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格式; 例如 或

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

#bmptoppm >

//生成ppm

#ppmquant 224 >

//转换成224颜色

#pnmnoraw >

//转换成ascii格式

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

# pngtopnm >

# pnmquant 224 >

# pnmtoplainpnm >

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

netpbm

3、将LOGO文件放入内核中

拷贝到制作好的LOGO文件到 /drivers/video/logo 文件夹

替换 logo_linux_ 文件,还要删除该文件夹下的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/

/system/core/init/logo.c

*.rle文件的制作步骤:

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

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

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

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

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

convert -depth 8 android_ rgb:android_

注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:

sudo apt-get install imagemagick

sudo apt-get install graphicsmagick-imagemagick-compat

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

需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:

rgb2565 -rle < android_ >

到目前为止,启动需要显示的图像已经做好了,就是,注意文件名必须是这个,如果想改文件名,需要修改

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

#define INIT_IMAGE_FILE "/"

4).将制作好的文件拷贝到android系统的root目录下,也就是out/target/product/..../root下

最后编译成文件系统镜像 重新烧写。OK。

192.168.3.5Sharemx61sw_

加入拷贝动作。

192.168.3.5Sharemx61sw_

PRODUCT_COPY_FILES +=

device/fsl/common/input/Dell_Dell_USB_:system/usr/keylayout/Dell_Dell_USB_

device/fsl/common/input/Dell_Dell_USB_:system/usr/idc/Dell_Dell_USB_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/eGalax_Touch_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/HannStar_P1003_

device/fsl/common/input/eGalax_Touch_:system/usr/idc/Novatek_NT11003_Touch_

device/fsl/imx6/etc/:root/

device/fsl/imx6/:root/

---------------------------------------------------------------------------

第三个(开机动画)画面

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

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

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets,

"images/");

initTexture(&mAndroid[1], mAssets,

"images/");

bool BootAnimation::android()

{

initTexture(&mAndroid[0], mAssets,

"images/");

initTexture(&mAndroid[1], mAssets,

"images/"); 这就是设置显示的前景图片和背景图片。

接着看还有如下代码:

[cpp] #define USER_BOOTANIMATION_FILE

"/data/local/"

#define SYSTEM_BOOTANIMATION_FILE

"/system/media/"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE

"/system/media/"

#define USER_BOOTANIMATION_FILE

"/data/local/"

#define SYSTEM_BOOTANIMATION_FILE

"/system/media/"

#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE

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

两个目录用来包含要显示的图片,分为第一阶段和第二阶段。剩下的文件就是设置关于如何显示的信息:

示例如下:

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,相信大家懂了!呵呵。

你可以制作自己的文件放置在合适的目录下,这样可以代替默认的开机界面:这里说的合适的目录就是上面的宏定义,大家都懂^_^!

怎么制作文件呢?和上面一样创建两个目录和一个文件,然后使用软件或者是命令行大包即可

zip -r -0 part0 part1

把制作的文件放入device/fsl/sabresd_6dq/raw/下面。

然后需要在codesRENAULT-OSmyandroiddevicefslsabresd_6dq

的文件中放入raw文件:

里面填写如下这句话:device/fsl/sabresd_6dq/raw/:system/media/

发布评论

评论列表 (0)

  1. 暂无评论