Android開機畫面的具體修改方法

來源:互聯網
上載者:User

製作開機Logo
方法一:
Drivers/video/logo/logo_linux_clut224.ppm是預設的啟動Logo圖片,把自己的Logo圖片(png格式)轉換成ppm格式,替換這個檔案,同時刪除logo_linux_clut224.c logo_linux_clut224.o檔案,重新編譯
具體方法:Netpbm
#pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
#pnmquant 224 logo_linux_clut224.pnm > logo_linux_clut224.pnm
#pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
註:先把png轉換成pnm格式,但核心的Logo最高只支援224色,需要把色彩轉換成224色,最後把pnm轉成ppm,檔案名稱必須是logo_linux_clut224.ppm。
方法二:
用RedHat9.0內建的圖片編輯工具GIMP(其他發行版自己安裝就行了)。
1.將顏色數改為224(在GIMP中一次選擇 映像->模式->索引。如所示)。
2.調整大小:寬高都小兩像素,否則不顯示。
3.另存新檔,儲存為ppm格式,在彈出的對話方塊中選擇Ascii,然後複製到Logo檔案夾替換原來的檔案,同時刪除logo_linux_clut224.c logo_linux_clut224.o檔案。

Android系統開機動畫包括兩部分:
開機顯示的 ANDROID 文字;
ANDROID發光動畫。
這篇文章說的開機動畫是第一種,下面開始本文!
1. 製作當前螢幕像素的圖片(模擬器預設為320*480)
使用PS製作一張320*480的圖片,儲存時選“儲存為 Web 所用格式”,然後在彈開的視窗上,“預設”項選擇“PNG-24”,儲存為android_logo.png
註:好像只支援png-24,其他格式產生的rle檔案顯示不正常,有興趣大家可以再驗證一下。
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"
============================================================================================
下面需要將initlogo.rle加入的android檔案系統中
4. 找到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)
跑題了,還是說正事兒。
5. 使用cpio提取檔案:
建立一個temp目錄:
mkdir temp
cd temp
cpio -i -F ../ramdisk.img
6. 匯出檔案清單:
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

7. 產生ramdisk.img
cpio -o -H newc -O ramdisk.img < list
註:根據list檔案的描述,產生ramdisk.img檔案
8. 用ramdisk.img覆蓋sdk目錄下的ramdisk.img(android-sdk-windows/platforms/android-2.1/images/ramdisk.img),最好先備份一下。
9. 啟動模擬器,就可以看到我們自己做的的開機介面了。

------------------------------------------------------------------------------------------------------------------

開機第三屏(android動畫)
編譯成功後在android源碼根目錄產生out目錄,
修改android\out\target\product\sdkDemo\system\framework目錄下的framework-res.apk
用winrar格式開啟,替換assets\images裡的2張圖片即可

開機第二屏(android字樣)
1、選張320*480解析度的圖
2、將圖轉換成raw,用Advanced Batch Converter工具即可
3、虛擬機器android\out\host\linux-x86\bin目錄下執行
./rgb2565 -rle <android_logo.raw> initlogo.rle
4、將initlogo.rle放置到android\out\target\product\sdkDemo\root下即可
如果不放置 則顯示的是源碼init.C init.c.bak裡
5、make firmware
6、全部重燒

開機第一屏(Linux企鵝圖樣)
1、選張png格式的圖片,在Linux下執行:
# pngtopnm logo.png > logo_linux.pnm
# pnmquant 224 logo_linux.pnm > logo_linux_clut224.pnm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
將產生的ppm拷貝到drivers\video\logo目錄下
如果想要修改菜單配置 可以在kernel目錄下執行make menuconfig
進Device Drivers
進Graphics Support
進Bootop logo
進standard 224-clor Linux logo選擇性加入圖片

U-boot開機logo的製作方法

在有實現LCD顯示和LCD命令列終端的U-boot中,在左上方都有顯示一個logo,如果是atmel的晶片,就會有atmel的logo,三星的則是denx的logo。
有的網友發郵件說想改成自己公司的Logo,而且如果是自己玩的話,改成自己喜歡的logo也爽阿。所以今天我做好了實驗,將簡單的修改方法總結如下:

--------------------------------------------------------------------------------
一、圖片的放置路徑

所有的開機logo都放在了 /tools/logos 之下,你只需要將你的班子作對應的logo替換就好了。

對於S3C2440,你只需要將denx.bmp替換成你想要的logo就好了。

對於ATMEL的晶片,據說會顯示ATMEL的logo,所以替換那個logo即可。

但是你所替換的logo必須和原來的大小、格式一模一樣,否則會出現u-boot使用過程中宕機重啟的後果。

二、圖片的大小標準

不同的logo對應不同的大小,這裡S3C2440所對應的是160*96解析度的BMP圖片。

三、圖片的轉換指令碼

在製作圖片前,請您現確認您的Linux主機上安裝了Netpbm 工具包。如果是ubuntu,你可以直接用新立得安裝;如果是別的發行版,可以在 Netpbm首頁 下載原始碼編譯。

將你想要的圖片裁減成160*96的JPG圖片,然後用以下的指令碼處理一下就好了:

#!/bin/sh
#install Netpbm first
jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2

使用方法: (指令碼名) ( 待處理的JPG圖片名) (輸出檔案名)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.