修改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.