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