幽沉谢世事,俯默窥唐虞。这篇文章主要讲述安卓修改开机logo相关的知识,希望能为你提供帮助。
这里我们是在ubuntu下进行操作我是用root用户登陆的,首先安装netpbm库
执行:apt-get install netpbm
对于android系统最开始表现logo是在内核当中,所以首先我们要修改内核中的logo.
一.内核中相关修改
编译linux内核logo制造脚本mklogo.sh,内容如下:
#!/bin/sh pngtopnm logo.png > linuxlogo.pnm pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm pnmtoplainpnm linuxlogo224.pnm > logo_linux_gzsd_clut224.ppm rm linuxlogo.pnm linuxlogo224.pnm
将你选好的logo转换成png格式,定名为logo.png并与mklogo.sh放在统一路径下.
执行./mklogo.sh最后生成logo_linux_gzsd_clut224.ppm
这个定名可以自由变动,但是必须遵守logo_yourname_type这类定名方法,这里仅罗列*_clut224.ppm的定名方法,其它格式的定名方法请查看drivers/video/logo/Makefile文件.
将logo_linux_gzsd_clut224.ppm文件放到内核源码下的drivers/video/logo/目录下
进入drivers/video/logo目录
【安卓修改开机logo】 1.修改Kconfig文件
增加:在endif #LOGO之前
config LOGO_LINUX_GZSD bool "gzsd logo" default n
2.修改Makefile文件
增加:
obj-$(CONFIG_LOGO_LINUX_GZSD) += logo_linux_gzsd_clut224.o
3.logo.c中函数fb_find_logo中的 if (depth > = 8)上面增加:
#ifdef CONFIG_LOGO_LINUX_GZSD
logo = & logo_linux_gzsd_clut224;
#endif
4.内核源码目录下的include/linux/linux_logo.h中增加
extern const struct linux_logo logo_linux_gzsd_clut224;
每日一道理
毅力,是千里大堤一沙一石的凝聚,一点点地累积,才有前不见头后不见尾的壮丽;毅力,是春蚕吐丝一缕一缕的环绕,一丝丝地坚持,才有破茧而出重见光明的辉煌; 毅力,是远航的船的帆,有了帆,船才可以到达成功的彼岸。
5.在终端执行make menuconfig,选上.
Device Drivers ---> Graphics support ---> Bootup logo ---> gzsd logo
保存退出后编译即可
6.禁止LCD控制台的光标
在内核源码目录下drivers/video/console/fbcon.c中
注释掉函数:fb_flashcursor和fbcon_cursor内的所有内容
7.让logo中屏幕旁边表现:
drivers/video/fbmem.c
修改函数fb_do_show_logo如下
static void fb_do_show_logo(struct fb_info *info, struct fb_image *image, int rotate, unsigned int num) { unsigned int x; int xoff,yoff; /**for central logo**/ xoff = (info-> var.xres - num * (fb_logo.logo-> width + 8))> > 1; //得到旁边x坐标 yoff = (info-> var.yres - num * (fb_logo.logo-> height + 8))> > 1; //得到旁边y坐标 if (rotate == FB_ROTATE_UR) { for (x = 0; x < num & & image-> dx + image-> width < = info-> var.xres; x++) { image-> dx = xoff; image-> dy = yoff; info-> fbops-> fb_imageblit(info, image); image-> dx += image-> width + 8; } } else if (rotate == FB_ROTATE_UD) { for (x = 0; x < num & & image-> dx > = 0; x++) { info-> fbops-> fb_imageblit(info, image); image-> dx -= image-> width + 8; } } else if (rotate == FB_ROTATE_CW) { for (x = 0; x < num & & image-> dy + image-> height < = info-> var.yres; x++) { info-> fbops-> fb_imageblit(info, image); image-> dy += image-> height + 8; } } else if (rotate == FB_ROTATE_CCW) { for (x = 0; x < num & & image-> dy > = 0; x++) { info-> fbops-> fb_imageblit(info, image); image-> dy -= image-> height + 8; } } }
重新编译即可
二.android启动后闪动画面修改:
路径:文件系统源码下的frameworks/base/core/res/assets/images/下有两张图片
android-logo-mask.png
android-logo-shine.png
修改这两张图片即可,注意请将本来的保存。
推荐阅读
- 安卓手机进程清理
- winform App.Config XML文件的读取和修改
- ionic2/3注册安卓返回
- APICloud 程序猿教你使用免费的制作APP软件!
- appium-doctor
- APIcloud 传统企业在自建App时候可能会遇到的误区
- Android AsyncTask内部线程池异步执行任务机制简要分析
- xp系统笔记本电脑连接不上蓝牙音箱的原因与处理办法
- xp系统下打开页面提示network error如何处理