安卓修改開機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目錄

    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

    修改這兩張圖片即可,注意請將本來的保存。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM