Android MTK平台最完备的开机动画修改教程
修改手機(jī)的開機(jī)動(dòng)畫不是什么難事兒。
但修改一款很冷門的“山寨機(jī)”,就不太好修改第一屏了。
手機(jī)是MTK的一款手機(jī),雖然比較貴(價(jià)格超過三星Note3),但在我看來跟山寨機(jī)木有啥區(qū)別。
很冷門的手機(jī),百度谷歌都翻了個(gè)天,都木有刷機(jī)包,更別提recovery了。
好了,root完畢,開工。
開機(jī)動(dòng)畫嚴(yán)格意義上可以分為三個(gè)步驟:
1.開機(jī)第一屏
2.開機(jī)第二屏
3.開機(jī)動(dòng)畫
以MTK手機(jī)為例:
Boot logo:
1. 開機(jī)顯示的順序如下:
??? boot logo(開機(jī)第一屏)?? (logo.bin 中)
??? Kernel logo(開機(jī)第二屏)? (system/media/images/boot_logo 文件)
??? Boot animation(開機(jī)動(dòng)畫)(system/media/bootanimation.zip 文件)
2. boot logo和kernel log所用的圖片資源在 mediatek/custom/common/uboot/logo 目錄下。
??? 在ProjectConfig.mk中指定具體目錄,比如BOOT_LOGO=wvga_XXX,表示用wvga_XXX目錄下的資源,該目錄下的資源都是bmp文件。
??? 在logo/update 文件中會調(diào)用tool/bmp_to_raw將bmp文件轉(zhuǎn)換成raw文件,并且在make uboot時(shí)會將這些資源文件放到logo.bin 中。?
????Logo/update 針對wvga_XXX_kernel.bmp有特殊處理,將其轉(zhuǎn)成raw文件并命名為/logo/boot_logo
????在mediatek/source/external/boot_logo_upater/Android.mk中會將boot_logo 文件放到out/target/product/system/media/images/boot_logo. 這樣就放到了system.img中.
3. boot logo的顯示: boot.img中加載logo.img中的boot 圖片顯示;
????Kernel logo的顯示: init.rc 啟動(dòng) service bootlogoupdater /system/bin/boot_logo_updater .
????boot_logo_updater這個(gè)可執(zhí)行程序由boot_logo_updater.c 編譯而成,其功能是從/system/media/images/boot_logo 中讀出kernel_boot資源,并通過framebuffer直接顯示到LCD上。
??? 注:可以根據(jù)logo/update中的腳本單獨(dú)生成boot_logo文件(修改第二屏),然后用adb remount/adb push的方法直接放到手機(jī)里面觀察效果。
下面依次來修改三個(gè)屏幕。
1.開機(jī)第一屏
這一屏的修改主要是制作一個(gè)update.zip的升級包,用recovery刷上去就看到效果了。
但對于山寨機(jī)來說,就比較麻煩了(木有第三方recovery,官方的recovery戰(zhàn)斗力就是個(gè)渣渣(原因可自行百度))。
(1)adb pull 導(dǎo)出logo文件(是的,木有后綴,我手邊的機(jī)子是在/dev/目錄下)
(2)將logo文件加個(gè)后綴.bin
(3)下載開機(jī)第一屏制作軟件LogoBuilder
(4)如圖,替換img1圖片(也就是開機(jī)第一屏),點(diǎn)擊“開始生成”,導(dǎo)出update.zip的刷機(jī)包
(5)將生成的卡刷包 update.zip 拷到sd卡根目錄下,手機(jī)進(jìn)入 recovery ,進(jìn)行卡刷(特別提醒:不要雙清),刷完后重啟手機(jī)就會看到新的第一屏。
注:悲劇的是,自己不會做第三方recovery,而這破機(jī)子也沒有第三方recovery!
2.開機(jī)第二屏
(1)導(dǎo)出boot_logo文件至筆記本
(2)使用Image Search Editor軟件打開boot_logo文件,用同尺寸的bmp文件替換顯示出來的圖片。
(3)將替換圖片后的boot_logo導(dǎo)入到手機(jī)原目錄
(4)OK
3.開機(jī)動(dòng)畫
(1)導(dǎo)出bootanimation.zip 文件至PC
(2)解壓縮,發(fā)現(xiàn)2個(gè)目錄和一個(gè)desc.txt的"腳本文件"
bootanimation.zip里面一般有兩個(gè)文件夾part0,part1,一個(gè)文本文件desc.txt
dest.txt里面的參數(shù)是用來控制播放的,
比如:
第一行???540??960?? 24?????? 540*960是手機(jī)的分辨率,而接著的一秒播放多少幀,這里是24
第二行??? p? 1? 0??? part0???? 這里第一個(gè)數(shù)字1表示播放1遍,第二個(gè)數(shù)字表示不停頓,而part0表示播放用的圖片文件夾??
第三行??? p? 0? 0??? part1???? 這里第一個(gè)數(shù)字0表示循環(huán)播放,第二個(gè)數(shù)字若不為0,則表示每播放到當(dāng)前這個(gè)數(shù)字的幀停頓一下,(以10為例,就是每播放10幀停一下)而part1表示播放用的圖片文件夾
更換兩個(gè)文件夾的文件為自己的逐幀動(dòng)畫圖片素材,重新打包為zip文件。
注意:要存為zip格式,并且只能是存儲,否則開機(jī)動(dòng)畫是播放不出來的
制作好之后進(jìn)行替換就可以了需要注意的是文件容量不能太大盡量不要高于原開機(jī)動(dòng)畫大多否則會造成讀取慢卡失效,另外,還需要配合開機(jī)音樂的時(shí)長。
開機(jī)音樂相對簡單,替換system/media中的bootaudio.mp3文件即可。
關(guān)機(jī)動(dòng)畫與開機(jī)動(dòng)畫修改類似。
The End。
總結(jié)
以上是生活随笔為你收集整理的Android MTK平台最完备的开机动画修改教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux设备和驱动加载的先后顺序
- 下一篇: MTK平台 Android4.0.3 定