android 啟動介面的定製

2021-08-19 15:21:39 字數 3627 閱讀 4117

**:

android 開機會出現3個畫面:

(一)底層linux核心系統啟動,出現linux小企鵝畫面(reboot);

(二)android平台啟動初始化,出現"a n d r i o d"文字字樣畫面;

(三)android平台上層圖形系統啟動,出現含閃動的android字樣的動畫(start)。

一、 底層linux核心系統啟動logo(小企鵝)修改

1、分析過程:

(1)先看一下bootup logo選項的幫助文件,其啟動logo是如何配置的。

到android核心原始碼根目錄下執行make menuconfig,按如下層次依次進入:

->devicedrivers

->graphicssupport

-> [*] bootup logo --->

選擇help檢視詳細資訊:

config_logo:

enable andselect frame buffer bootup logos.

symbol: logo[=y]

prompt: bootuplogo

defined at drivers/video/logo/kconfig: 5

depends on: has_iomem && (fb||sgi_newport_console)

location:

->devicedrivers

->graphicssupport

由此可知:drivers/video/logo/kconfig:5 由此句話,我們知道,啟動logo的的設定是在這個檔案中。

->devicedrivers

->graphicssupport

-> [*] bootup logo --->

->[*] standard 224-color linux logo

選擇help檢視詳細資訊:

symbol: logo_linux_clut224 [=y]

prompt: standard224-colorlinux logo

defined at drivers/video/logo/kconfig: 26

depends on: has_iomem && (fb||sgi_newport_console) && logo

location:

->devicedrivers

->graphicssupport

->bootuplogo (logo [=y])

由此可知:在~/work/android-2.6.29-samsung/drivers/video/logo目錄下的kconfig中有:

26 configlogo_linux_clut224

27 bool"standard224-colorlinux logo"

28 default y

——即選擇了logo_linux_clut224這張作為啟動畫面的logo。

若我們想加乙個,應該在kconfig中新增相應的配置選項,同時,要在logo 目錄下有乙個相應的.ppm 格式的檔案(乙個.ppm檔案、乙個.c的檔案、乙個.h的檔案)... ...

這種情況我先不給大家介紹,我們直接用乙個.ppm格式的新的檔案覆蓋原來的開機logo 檔案,重新編譯核心即可,相關過程如下。

2、修改過程: (

1)首先找一張符合lcd解析度的png(logo.png),(聽說bmp格式的也可以,只是格式轉換的命令不同),然後按下面的命令做格式轉換:

sudoapt-get install netpbm

) pnmquant 224 my_linux_logo.pnm > my_linux_logo224.pnm

pnmtoplainpnm my_linux_logo224.pnm > my_linux_logo.ppm(2

cp logo_linux_clut224.ppm logo_linux_clut224_copy.ppm(3

mv my_linux_logo.ppm logo_linux_clut224.ppm(4

)然後make menuconfig,選中standard224-colorlinuxlogo:

->devicedrivers

->graphicssupport

-> [*] bootup logo --->

->[*] standard 224-color linux logo(5

)設定居中顯示:

修改drivers/video/fbmem.c

/*modified bycreatory*/

// 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);

最後make zimage,將核心映象燒到開發板中,即可大功告成!!!

二、 android平台啟動初始化"an d r i o d"字樣修改

在啟動**

system/core/init/init.c

中將下面的**修改

紅色字型

部分,即可在開機時顯示所修改的內容,一般為了開機的簡約,這段**通常被遮蔽掉。

if(load_565rle_image(init_image_file) )

}重新進行原始碼的編譯,啟動

android

系統即可。

三、android圖形系統啟動,動畫閃動android修改

1、主要過程分析:

bootanimation::readytorun()

==> 

程式會嘗試開啟

/data/local/bootanimation.zip

和/system/media/bootanimation.zip

檔案如果

2個檔案都不存在,那麼

mandroidanimation

將為true

:mandroidanimation = false;

status_t err = mzip.open("/data/local/bootanimation.zip");

if (err != no_error)

}於是最終將在下面

threadloop()

函式中bootanimation::threadloop()

if (mandroidanimation) else

==> bootanimation::android()

會載入"images/android-logo-mask.png"

和"images/android-logo-shine.png"

==> bootanimation::movie()會載入bootanimation.zip中的內容

2、新增方法:

在/data/local

和/system/media

android 啟動介面的定製

android 開機會出現3個畫面 一 底層linux核心系統啟動,出現linux小企鵝畫面 reboot 二 android平台啟動初始化,出現 a n d r i o d 文字字樣畫面 三 android平台上層圖形系統啟動,出現含閃動的android字樣的動畫 start 一 底層linux核...

WinCE啟動介面的定製

本文將以模擬器為例,簡單介紹如何定製wince的啟動介面,實現動畫效果。在實際硬體平台上一般在bootloader中定製開機介面。如果boot從flash載入nk到記憶體的時間較長,通常也會加乙個進度條顯示。如果從nk載入完成到進入ce桌面的時間也很長,那加乙個開機動畫也是不錯的。首先在backli...

WinCE啟動介面的定製

本文將以模擬器為例,簡單介紹如何定製wince的啟動介面,實現動畫效果。在實際硬體平台上一般在bootloader中定製開機介面。如果boot從flash載入nk到記憶體的時間較長,通常也會加乙個進度條顯示。如果從nk載入完成到進入ce桌面的時間也很長,那加乙個開機動畫也是不錯的。首先在backli...