高通8x12平台开机画面制作工具
你可能在網(wǎng)上看到很到關(guān)于手動(dòng)更換手機(jī)開機(jī)圖片的文章,想想自己的開機(jī)畫面是小兩口,好基友的照片多么個(gè)性啊。但是你有沒有發(fā)現(xiàn),網(wǎng)上下載的什么“一鍵生成”之類的,在你的手機(jī)上不能用啊,( ⊙ o ⊙ )是的,至少我手中的是這個(gè)樣子的,有不少網(wǎng)上下載的實(shí)際上都是用ffmpeg.exe制作的,我沒研究過,但是看到mpeg字眼,肯定跟圖像等多媒體格式相關(guān)。到底你的手機(jī)開機(jī)畫面怎么做,這個(gè)完全取決于你手機(jī)的bootloader中怎么解析了,所以網(wǎng)上什么一鍵制作等都是特定機(jī)型,并不通用的。
在解決這個(gè)需求時(shí),我只知道Python是一種腳本,我甚至不知道如何用,用在哪里,環(huán)境樣子如何!只能憑經(jīng)驗(yàn)摸索,再找度娘,能看懂意思。
好了,我手里開發(fā)的機(jī)器,開機(jī)圖片一般都是在ubuntu環(huán)境下用python腳本制作的.
msm8x12\device\qcom\common\display\logo\logo_gen.py如下:
[python]?view plaincopy
說明中表示用python和PIL(python Image Library)制作,PIL是另外下載安裝的庫,圖片資源必須為png,且色深為8-bit的RGB或者RGBA格式。
生成的splash.img格式為文件頭+BGR原始數(shù)據(jù):文件頭如上面結(jié)構(gòu)體一樣排列,BGR就是將原B,R通道數(shù)據(jù)交換,把這樣的數(shù)據(jù)順序存在另一個(gè)文件中改名為splash.img即可。
在這個(gè)腳本下還有個(gè)腳本使用說明:python ./logo_gen.py snapdragon.png,實(shí)際上看代碼,如果不指定源png圖片,會(huì)自動(dòng)尋找logo.png。
現(xiàn)在需求來了,小客戶很多,他們需求機(jī)器少,但卻要求換他們的開機(jī)logo,這個(gè)工作需要他們來做,難道客戶要去安裝ubuntu再去裝python環(huán)境再去做?那不行,客戶不是開發(fā)者,于是想辦法在windows系統(tǒng)下做個(gè)脫離環(huán)境的工具。要么根據(jù)上面python的代碼解析函數(shù)意義,再用C代碼去模擬出來,但是要點(diǎn)時(shí)間,于是上網(wǎng)搜搜,有個(gè)第三方python庫叫py2exe,它能把python腳本連同各種依賴打包在一個(gè)文件夾下,這樣就脫離環(huán)境了。我的做法具體為:
windows XP系統(tǒng)安裝,
python2.7.3
py2exe-0.6.9.win32-py2.7
PIL-1.1.7.win32-py2.7下載地址http://www.pythonware.com/products/pil/index.htm
軟件怎么裝不說了。其中后兩個(gè)是python的庫,下載完直接下一步安裝,會(huì)直接安裝到python安裝目錄下的Lib\site-packages。第二個(gè)py2exe下載時(shí)要看清與python版本必須一致,不然不給安裝的。另python安裝時(shí)把其安裝的路徑加入到環(huán)境變量Path,這樣任何地方才能識(shí)別到python。
windows下環(huán)境都弄好了,在CMD下運(yùn)行python logo_gen xxx.png,出錯(cuò)嘍,
為啥ubuntu與windows下同一腳本運(yùn)行不同呢?!
r, g, b = img.split()這是出錯(cuò)的地方,'NoneType' 感覺像空值造成的,
經(jīng)網(wǎng)上查詢,在腳本中出錯(cuò)的上方添加img.load()即可,如下
。。。
? ? ? ? img.load()
? ? ? ? r, g, b = img.split()
。。。
編譯還是錯(cuò)了,如下
識(shí)別錯(cuò)誤!用NotePad++打開腳本,再打開“顯示所有字符”如下
看見么╮(╯_╰)╭,其他對齊用的是空格,img.loader()用的卻是Tab,改成空格,運(yùn)行結(jié)果正確!
好了 ,我要做的是可執(zhí)行文件,脫離python環(huán)境,不急,前面不是裝了py2exe庫么,它就是干這個(gè)的。
在logo_gen.py同目錄下,新建一個(gè)名為mysetup.py設(shè)置腳本,內(nèi)容為:
[python]?view plaincopy
其中中括號(hào)內(nèi)就是你要轉(zhuǎn)換為exe的python腳本名,上面兩行是必須這樣寫的。至于設(shè)置腳本的語法,上網(wǎng)搜去吧,我也不知道,暫時(shí)需要到哪我就用到哪。
cmd下運(yùn)行python mysetup.py py2exe,會(huì)出現(xiàn)許多打印信息,最終生成2個(gè)文件夾build和dist,如下圖這個(gè)dist目錄就是最終我的需求,可執(zhí)行文件及其依賴都在這,將png圖面改名為logo.png放到dist目錄,進(jìn)入dist目錄,雙擊運(yùn)行l(wèi)ogo_gen.exe你會(huì)看見生成了splash.img,這就是開機(jī)圖片要燒寫的鏡像。
總結(jié)
以上是生活随笔為你收集整理的高通8x12平台开机画面制作工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发小问题集
- 下一篇: 如何查看Android设备上的分区信息