博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改Android开机画面
阅读量:5769 次
发布时间:2019-06-18

本文共 3964 字,大约阅读时间需要 13 分钟。

制作开机Logo

方法一:
Drivers/video/logo/logo_linux_clut224.ppm是默认的启动Logo图片,把自己的Logo图片(png格式)转换成ppm格式,替换这个文件,同时删除logo_linux_clut224.c logo_linux_clut224.o文件,重新编译
具体方法:Netpbm
#pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
#pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm
#pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
注:先把png转换成pnm格式,但内核的Logo最高只支持224色,需要把颜色转换成224色,最后把pnm转成ppm,文件名必须是logo_linux_clut224.ppm。
方法二:

用RedHat9.0自带的图片编辑工具GIMP(其他发行版自己安装就行了)。

1.将颜色数改为224(在GIMP中一次选择 图像->模式->索引。如下图所示)。

2.调整大小:宽高都小两像素,否则不显示。

3.另存为,保存为ppm格式,在弹出的对话框中选择Ascii,然后复制到Logo文件夹替换原来的文件,同时删除logo_linux_clut224.c logo_linux_clut224.o文件。

Android系统开机动画包括两部分:

开机显示的 ANDROID 文字;

ANDROID发光动画。

这篇文章说的开机动画是第一种,下面开始正文!

1. 制作当前屏幕像素的图片(模拟器默认为320*480)

 使用PS制作一张320*480的图片,保存时选“保存为 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" 

============================================================================================

下面需要将initlogo.rle加入的android文件系统中

4. 找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),将文件名改为ramdisk.img.gz,然后使用下面的命令解压:

 gunzip ramdisk.img.gz
 解压后得到ramdisk.img,可能有人要问,怎么文件名又改回去了?其实不然,使用file ramdisk.img查看一下就知道了:
 解压前:ramdisk.img: gzip compressed data, from Unix
 解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
 跑题了,还是说正事儿。

5. 使用cpio提取文件:

 新建一个temp目录:
 mkdir temp
 cd temp
 cpio -i -F ../ramdisk.img

6. 导出文件列表:

 cpio -i -t -F ../ramdisk.img > list       

 注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下:

 data

 default.prop

 dev

 init

 init.goldfish.rc

 init.rc

 initlogo.rle 

 proc

 sbin

 sbin/adbd

 sys

 system

7. 生成ramdisk.img
 cpio -o -H newc -O ramdisk.img < list 

 注:根据list文件的描述,生成ramdisk.img文件

8. 用ramdisk.img覆盖sdk目录下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先备份一下。

9. 启动模拟器,就可以看到我们自己做的的开机界面了。

 

 

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

 

开机第三屏(android动画)

编译成功后在android源码根目录生成out目录,
修改android\out\target\product\sdkDemo\system\framework目录下的framework-res.apk
用winrar格式打开,替换assets\images里的2张图片即可

开机第二屏(android字样)
1、选张320*480分辨率的图
2、将图转换成raw,用Advanced Batch Converter工具即可
3、虚拟机android\out\host\linux-x86\bin目录下执行
  ./rgb2565 -rle <android_logo.raw> initlogo.rle
4、将initlogo.rle放置到android\out\target\product\sdkDemo\root下即可
   如果不放置 则显示的是源码init.C init.c.bak里
5、make firmware
6、全部重烧

开机第一屏(Linux企鹅图样)
1、选张png格式的图片,在Linux下执行:
# pngtopnm logo.png > logo_linux.pnm
# pnmquant 224 logo_linux.pnm > logo_linux_clut224.pnm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
将生成的ppm拷贝到drivers\video\logo目录下
如果想要修改菜单配置  可以在kernel目录下执行make menuconfig
进Device Drivers
进Graphics Support
进Bootop logo
进standard 224-clor Linux logo选择性加入图片

 

 

 

U-boot开机logo的制作方法

在有实现LCD显示和LCD命令行终端的U-boot中,在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。

有的网友发邮件说想改成自己公司的Logo,而且如果是自己玩的话,改成自己喜欢的logo也爽阿。所以今天我做好了实验,将简单的修改方法总结如下:

 


一、图片的放置路径

所有的开机logo都放在了 /tools/logos 之下,你只需要将你的班子作对应的logo替换就好了。

对于S3C2440,你只需要将denx.bmp替换成你想要的logo就好了。

对于ATMEL的芯片,据说会显示ATMEL的logo,所以替换那个logo即可。

但是你所替换的logo必须和原来的大小、格式一模一样否则会出现u-boot使用过程中宕机重启的后果


二、图片的大小标准
不同的logo对应不同的大小,这里S3C2440所对应的是160*96分辨率的BMP图片。

三、图片的转换脚本
 

在制作图片前,请您现确认您的Linux主机上安装了Netpbm 工具包。如果是ubuntu,你可以直接用新立得安装;如果是别的发行版,可以在  下载源代码编译。

   将你想要的图片裁减成160*96的JPG图片,然后用以下的脚本处理一下就好了:

#!/bin/sh
#install Netpbm first
    jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2

使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)

转载于:https://www.cnblogs.com/ouyangpeng/archive/2013/03/25/8538476.html

你可能感兴趣的文章
Proxy服务器配置_Squid
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
redis 常用命令
查看>>
EdbMails Convert EDB to PST
查看>>
Centos7同时运行多个Tomcat
查看>>
使用CocoaPods过程中的几个问题
查看>>
我的友情链接
查看>>
为eclipse安装maven插件
查看>>
Spring boot 整合CXF webservice 全部被拦截的问题
查看>>
Pinpoint跨节点统计失败
查看>>
机房带宽暴涨问题分析及解决方法
查看>>
XP 安装ORACLE
查看>>
八、 vSphere 6.7 U1(八):分布式交换机配置(vMotion迁移网段)
查看>>
[转载] 中华典故故事(孙刚)——19 万岁
查看>>
php5编译安装常见错误和解决办法集锦
查看>>
Unable to determine local host from URL REPOSITORY_URL=http://
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
Workstation服务无法启动导致无法访问文件服务器
查看>>
Linux常用命令(一)
查看>>