看到了好幾個修改logo的博文,但是說的不是很清楚,在這裡親手送上通過自己的動手修改過驗證後的方法。
android 開機其實總共會出現3個畫面:
1、第乙個就是 linux 系統啟動,出現linux小企鵝畫面(reboot);
2、當android系統從linux核心啟動後,將會執行anddroid平台的初始化過程,螢幕上將會出現」a n d r i o d」文字字樣畫面(但是在我的系統裡這個介面並不沒有出現;或者說是肉眼沒有看到這個畫面的出現,這裡依然送上這個畫面的修改方法);
第乙個(小企鵝)畫面的修改:
linux kernel引導啟動後,載入該,涉及到的**在如下的目錄中:
/kernel/trunk/drivers/video/fbmem.c
/kernel/trunk/drivers/video/fbmem.h
/kernel/trunk/drivers/video/logo/logo.c
/kernel/trunk/drivers/video/logo/logo.h
/kernel/trunk/drivers/video/logo/kconfig
/kernel/trunk/include/linux/linux_logo.h
讓核心中新增此開機logo的步驟如下:
1、讓核心支援啟動logo
在核心目錄中 make menuconfig
device drivers ----> graphics support ---->
選中 bootup logo ----> standard 224-color linux logo
2、製作開機logo的
將要當作開機logo的按照你螢幕的大小進行裁減,並將其儲存為bmp格式 或 png格式; 例如linuxlogo.bmp 或 linuxlogo.png
在linux下輸入以下命令(for bmp):
#bmptoppm linuxlogo.bmp > linuxlogo.ppm //生成ppm
#ppmquant 224 linuxlogo.ppm > linuxlogo224.ppm //轉換成224顏色
#pnmnoraw linuxlogo224.ppm > linuxlogo224.ppm //轉換成ascii格式
在linux下輸入以下命令(for png):
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
注:上述命令需要安裝netpbm的工具包 sudo apt-get install netpbm
3、將logo檔案放入核心中
拷貝到製作好的logo檔案到 /drivers/video/logo 資料夾
替換 logo_linux_clut224.ppm 檔案,還要刪除該資料夾下的logo_linux_clut224.o和logo_linux_clut224.c
4、重新編譯核心就ok了!這裡就不詳說。
第二個(」a n d r i o d」文字字樣畫面)畫面的修改:
/system/core/init/init.c
/system/core/init/init.h
/system/core/init/init.rc
/system/core/init/logo.c
*.rle檔案的製作步驟:
1). 製作當前螢幕畫素的
使用ps製作一張適合螢幕大小的,儲存時選「儲存為 web 所用格式」,然後在彈開的視窗上,「預設」項選擇「png-24」,儲存為android_logo.png(
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"
4).將製作好的initlogo.rle檔案拷貝到android系統的root目錄下,也就是out/target/product/..../root下
最後編譯成檔案系統映象 ***.img重新燒寫。ok。
第三個(開機動畫)畫面
其實這個部分的動畫是使用兩個顯示出來的,具體的檔案所在路徑為:frameworks/base/core/res/assets/images,大家看一下就知道了,也就知道怎麼修改了。
和這部分相關的原始碼檔案主要是如下幾個:frameworks/base/cmds/bootanimation下面的幾個檔案就是的了,可以看看bootanimation.cpp檔案的內容,有如下**片段:
bool bootanimation::android()
{ inittexture(&mandroid[0], massets, "images/android-logo-mask.png");
inittexture(&mandroid[1], massets, "images/android-logo-shine.png");
bool bootanimation::android()
{inittexture(&mandroid[0], massets, "images/android-logo-mask.png");
inittexture(&mandroid[1], massets, "images/android-logo-shine.png"); 這就是設定顯示的前景和背景。
接著看還有如下**:
[cpp] #define user_bootanimation_file "/data/local/bootanimation.zip"
#define system_bootanimation_file "/system/media/bootanimation.zip"
#define system_encrypted_bootanimation_file "/system/media/bootanimation-encrypted.zip"
#define user_bootanimation_file "/data/local/bootanimation.zip"
#define system_bootanimation_file "/system/media/bootanimation.zip"
#define system_encrypted_bootanimation_file "/system/media/bootanimation-encrypted.zip" 看巨集名相信大家就知道了,這就是設定動畫檔案的名稱了。為什麼會又顯示又設定動畫顯示呢,這個android版本有關。顯示兩個:前景和背景 是在1.5版本用,後來就改為了設定動畫檔案,就是:bootanimation.zip,是zip格式的,這個檔案包含三個內容:兩個目錄:part0 和part1,乙個檔案desc.txt。
兩個目錄用來包含要顯示的,分為第一階段和第二階段。剩下的檔案就是設定關於如何顯示的資訊:
示例如下:
480 800 15
p 1 0 part0
p 0 0 part1
具體的含義如下:
480--width of the image, 800--height of the image, 15--frames of second
p 1, display one time
p 0, display recycling till handset power on finished,相信大家懂了!呵呵。
你可以製作自己的bootanimation.zip檔案放置在合適的目錄下,這樣可以代替預設的開機介面:這裡說的合適的目錄就是上面的巨集定義,大家都懂^_^!
怎麼製作bootanimation.zip檔案呢?和上面一樣建立兩個目錄和乙個檔案,然後使用軟體或者是命令列大包即可
zip -r -0 bootanimation.zip part0 part1 desc.txt
Android 更換開機logo和開機動畫
開機logo有kernel logo和uboot logo兩個 如何找到對應的?確認當前專案的裝置使用的是哪種尺寸的logo 一般在對應專案的projectconfig.mk檔案裡可以找到 例如 boot logo hd720找到vendor mediatek proprietary bootabl...
linux開機logo製作
pngtopnm,pnmquant,pnmtoplainpnm pngtopnmlinuxlogo.png linuxlogo.pnm pnmquant 224 linuxlogo.pnm linuxlogo224.pnm pnmtoplainpnm linuxlogo224.pnm linuxlo...
linux開機logo製作
或者 bmptoppm pic.bmp temp1.ppm 生成ppm ppmquant 224 temp1.ppm temp2.ppm 轉換成224顏色 pnmnoraw temp2.ppm logo.ppm 轉換成ascii格式 這樣您製作的logo就已經成功了,將linuxlogo224.pp...