修改android启动logo(动态图片,静态图片).doc_第1页
修改android启动logo(动态图片,静态图片).doc_第2页
修改android启动logo(动态图片,静态图片).doc_第3页
修改android启动logo(动态图片,静态图片).doc_第4页
修改android启动logo(动态图片,静态图片).doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

修改和制作Android开机Logo(完整版)日期:2012-02-15 作者:zhh以下在Telechips tcc8923上,用Android4.0的源码编译通过1.bootloader图片修改 bootablebootloaderlkplatformtcc_sharedincludelcdlogo.h替换就行了logo.h的制作:准备一张图片,然后用Img2Lcd工具把图片转成C语言数组注意:在使用Img2Lcd工具转换的图片最左边会有一条白边,把数组中前8个数值删除就不会有这样的情况。仅仅支持.bmp格式的文件2.kernel图片(linux logo)原来是没有的,需要先在menuconfig中加入配置Device Driver-Graphic support-Bootup Logo中选中224 color然后把自己的LOGO(png-8格式)转换成ppm格式,替换这个文件,同时删除logo_linux_clut224.c logo_linux_clut224.o文件,重新编译。(/drivers/video/logo/logo_linux_clut224.ppm 是默认的启动LOGO图片格式为ppm)ppm图片的生成:# 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注意:使用pngtopnm ,pnmquant ,pnmtoplainpnm 工具前要先安装,在虚拟机下sudo apt-get install netpbm 这三个工具会安装好。设置图片居中显示: 修改drivers/video/fbmem.c/*modified by creatory*/ image.dx=0;/ image.dy=y; image.dx=(info-var.xres/2)-(logo-width/2);image.dy=(info-var.yres/2)-(logo-height/2);在drivers/video/console/fbcon.c文件中的logo_height=fb_prepare_logo(info,ops-rotate);下面加入logo_height += (info-var.yres/2)-(logo_height/2);第三张图片:这张图片是水果的图片加入的logo图片,制作和修改方法如下:1). 制作当前屏幕像素的图片(模拟器默认为1024*768)使用PS制作一张1024*168的图片,保存时选“保存为 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 imagemagick3). 将raw格式转化为rle文件需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:rgb2565 -rle initlogo.rle4).修改:tcc8923_20120127/device/telechips/m805_892x/device.mk 添加下面一行:PRODUCT_COPY_FILES += device/telechips/common/initlogo.rle:root/initlogo.rle意思是复制rle文件到ramdisk.img5、替换文件devicetelechipscommoninitlogo.rle;同时删除outtargetproducttcc8900ramdisk.img,ramdisk-recovery.img,再重新编译,就可以了第二种方法:到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:#define INIT_IMAGE_FILE /initlogo.rle=下面需要将initlogo.rle加入的android文件系统中以下的4,5,6,7,需要先进行如下设置,把initlogo.rle放入devicetelechipscommon,删除ramdisk.img之类的相关的文件重新make即可。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 tempcd tempcpio -i -F ./ramdisk.img6). 导出文件列表:cpio -i -t -F ./ramdisk.img list注:list是一个文本文件,里面存储了ramdisk.img的文件结构,我们需要在这个文件中加入initlogo.rle这一行,修改后的文件如下pdevinitinit.goldfish.rcinit.rcinitlogo.rleprocsbinsbin/adbdsyssystem7). 生成ramdisk.imgcpio -o -H newc -O ramdisk.img = 0) const char *msg; msg = n n n n n n n/ console is 40 cols x 30 lines n n n n n n n A N D R O I D ; write(fd, msg, strlen(msg); close(fd); 相关代码: /system/core/init/init.c /system/core/init/init.h /system/core/init/init.rc /sy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论