一.設置LINUX內核啓動LOGO linux
一、讓內核支持啓動LOGO android
在內核目錄中 make menuconfig ubuntu
Device Drivers ----> Graphics support ----> windows
選中 Bootup logo ----> Standard 224-color Linux logo ide
二、製做開機logo的圖片 工具
將要看成開機LOGO的圖片按照你屏幕的大小進行裁減,並將其保存爲bmp格式 或 png格式; 例如linuxlogo.bmp 或 linuxlogo.png 動畫
在linux下輸入如下命令(for bmp): spa
#bmptoppm linuxlogo.bmp > linuxlogo.ppm //生成ppm
#ppmquant 224 linuxlogo.ppm > linuxlogo224.ppm //轉換成224顏色
#pnmnoraw linuxlogo224.ppm > linuxlogo224.ppm //轉換成ascii格式 orm
在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
三、將LOGO文件放入內核中
拷貝到製做好的LOGO文件到 /drivers/video/logo 文件夾
替換 logo_linux_clut224.ppm 文件,還要刪除該文件夾下的logo_linux_clut224.o
四、從新編譯內核 make zImage 或 make uImage
2、修改android開機畫面
Android系統開機動畫包括兩部分:
開機顯示的 ANDROID 文字;
ANDROID發光動畫。
======================================================================================================================
開機顯示的 ANDROID 文字;
一、 製做當前屏幕像素的圖片(模擬器默認爲320*480),例如android_logo.png
使用PS製做一張320*480的圖片,保存時選「保存爲 Web 所用格式」,而後在彈開的窗口上,「預設」項選擇「PNG-24」,保存爲android_logo.png
注:好像只支持png-24,其餘格式生成的rle文件顯示不正常,有興趣你們能夠再驗證一下。
二、 將圖片轉換爲raw格式
使用linux下的ImageMagick自帶的convert命令,進行raw格式轉換,命令爲:
convert -depth 8 android_logo.png rgb:android_logo.raw
注:ubuntu 10.04 默認已經安裝ImgageMagick工具,若是當前系統沒有安裝,能夠執行下面的命令安裝:
sudo apt-get install imagemagick
三、 將raw格式轉化爲rle文件
須要用到android編譯後的rgb2565工具,在android/out/host/linux-x86/bin目錄下(android爲當前源碼所在目錄),轉換命令以下:
rgb2565 -rle < android_logo.raw > initlogo.rle
將initlogo.rle文件放在android4.2\device\softwinner\【wing-k70】下,或是本身建立個目錄將initlogo.rle文件放在改目錄下,若直接放在【wing-k70】下,則要在該目錄下的
到目前爲止,啓動須要顯示的圖像已經作好了,就是initlogo.rle,注意文件名必須是這個,若是想改文件名,須要修改android/system/core/init/init.h中的宏:
#define INIT_IMAGE_FILE "/initlogo.rle"
============================================================================================
下面須要將initlogo.rle加入的android文件系統中
四、找到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)
跑題了,仍是說正事兒。
五、使用cpio提取文件:
新建一個temp目錄:
mkdir temp
cd temp
cpio -i -F ../ramdisk.img
六、導出文件列表:
cpio -i -t -F ../ramdisk.img > list
注:list是一個文本文件,裏面存儲了ramdisk.img的文件結構,咱們須要在這個文件中加入initlogo.rle這一行,修改後的文件以下:
data
default.prop
dev
init
init.goldfish.rc
init.rc
initlogo.rle
proc
sbin
sbin/adbd
sys
system
七、生成ramdisk.img
cpio -o -H newc -O ramdisk.img < list
注:根據list文件的描述,生成ramdisk.img文件
八、用ramdisk.img覆蓋sdk目錄下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先備份一下。
九、啓動模擬器,就能夠看到咱們本身作的的開機界面了。
================================================================================================================
開機動畫(閃動的ANDROID字樣的動畫圖片)
Android 的系統登陸動畫相似於Windows系統的滾動條,是由前景和背景兩張PNG圖片組成,
這兩張圖片存在於/system/framework /framework-res.apk文件當中。
前景圖片(android-logo-mask.png)上的Android文字部分鏤空,背景圖片 (android-logo-shine.png)則是簡單的紋理。
系統登陸時,前景圖片在最上層顯示,程序代碼控制背景圖片連續滾動,透過前景圖片文字 鏤空部分滾動顯示背景紋理,從而實現動畫效果。
相關代碼:
/frameworks/base/cmds/bootanimation/BootAnimation.h
/frameworks/base/cmds/bootanimation/BootAnimation.cpp
/frameworks/base/core/res/assets/images/android-logo-mask.png Android默認的前景圖片,文字部分鏤空,大小256×64 /frameworks/base/core/res/assets/images/android-logo-shine.png Android默認的背景圖片,有動感效果,大小512×64