WAP手機(jī)網(wǎng)站 手機(jī)下載 手機(jī)軟件 手機(jī)游戲 手機(jī)網(wǎng)游 手機(jī)主題 手機(jī)圖片 手機(jī)鈴聲 手機(jī)世界微博
手機(jī)游戲攻略

摩托羅拉 ME525 改電池圖標(biāo)時(shí)得到的兩點(diǎn)經(jīng)驗(yàn)

scorpiorick 友人 2011-4-27

這幾天為了整個(gè)能夠精確顯示電量的電池圖標(biāo),杯具了無(wú)數(shù)次,好在Defy刷不死。

兩三天折騰下來(lái)終于基本搞定了,中間有一些小經(jīng)驗(yàn),在此記錄一下,供需要的兄弟查閱,避免杯具重演。

本文檔說(shuō)了兩件事情:

1. 修改10%電量顯示圖標(biāo)(其實(shí)就是修改framework-res.apk文件,替換圖片資源和編輯XML文件的方法),這個(gè)事情有很多人寫(xiě)過(guò)教程了,但是很多帖子不是很全,setp-by-setp地做還是會(huì)杯具,所以在此記錄一下我自己驗(yàn)證過(guò)的做法;

2.PC端編輯img文件,畢竟PC端操作效率高些,而且直接刷一個(gè)精簡(jiǎn)、美化完畢的img鏡像,比刷完原版鏡像再去精簡(jiǎn)的感覺(jué)還是要好一些。

對(duì)這兩件事情沒(méi)興趣的兄弟就不用往下看了。

先說(shuō)修改電量圖標(biāo):

上張改圖標(biāo)之后的截圖:

希望將來(lái)有高人能研究出不依賴(lài)其他軟件實(shí)現(xiàn)1%電量顯示的方法,從配置文件看來(lái)既然可以自定義maxLevel,應(yīng)該不可能實(shí)現(xiàn)不了1%電量顯示,不明白限制在哪里。

APK包其實(shí)是zip算法壓縮的,這點(diǎn)和JAR一樣,所以我們可以很方便地用WinRAR之類(lèi)的壓縮軟件來(lái)打開(kāi)APK,并且可以直接讀取里面的圖片資源。但是要實(shí)現(xiàn)10%電量顯示,光替換圖片是不夠的,還需要修改XML文件,而直接通過(guò)壓縮軟件查看XML文件,發(fā)現(xiàn)不是ASCII文件,不能直接編輯,所以第一步是要反編譯APK文件。

這里需要用到apktool,請(qǐng)需要的兄弟自行g(shù)oogle,apktool運(yùn)行需要JRE,不明白什么是JRE的兄弟也請(qǐng)自行g(shù)oogle,然后去Oracle網(wǎng)站下載安裝。

將原機(jī)的framework-res.apk拷貝到apktool目錄下,命令行執(zhí)行:

apktool.bat d framework-res.apk

在apktool目錄下生成了一個(gè)叫做framework-res的文件夾,里面就是反編譯出來(lái)的可讀的東西。

將framework-res.apk重命名為framework-res.apk.zip,等下會(huì)用到。

stat_sys_battery.xml文件就是控制特定電量下調(diào)用特定圖標(biāo)的文件了,一共兩個(gè),一個(gè)在framework-res\res\drawable,一個(gè)在framework-res\res\drawable-hdpi,不知道真正起作用的是哪個(gè),反正我兩個(gè)都編輯了。編輯結(jié)果如下:

紅色部分的maxLevel是指,電量下降到這個(gè)百分比的時(shí)候,去調(diào)用前面的這個(gè)圖標(biāo)文件。

圖標(biāo)文件是png格式的,大家可以自己去網(wǎng)上找,去解包美化過(guò)的frameworks-res.apk也行,反正stat_sys_battery_0、5、10、15、20、30、40、50、60、70、80、90、100都要有,放在framework-res\res\drawable-hdpi下面就行了。

然后重新用apktool打包,命令如下:

apktool b frameworks-res frameworks-res.apk

apktool就會(huì)重新把反編譯出來(lái)的東西編譯回去。但請(qǐng)千萬(wàn)注意,這個(gè)apk的包是不能替換到機(jī)器上去的,里面沒(méi)有證書(shū)信息,直接替換上去包你陷入無(wú)盡重啟的杯具。很多帖子這里都不交代清楚,我因此杯具了很多次。

用WinRAR打開(kāi)frameworks-res.apk和frameworks-res.apk.zip(注意后者才是原版),將前者的stat_sys_battery.xml(兩個(gè))拖放到后者的同路徑下,并將stat_sys_battery_*.png的13個(gè)圖片文件也拖過(guò)去(圖片文件直接從外面拖進(jìn)壓縮包也行,但xml文件必須從編譯好的apk文件拖),最后很重要:把前者第一層目錄下的resources.arsc拖到后者的同路徑下覆蓋原文件,不然在手機(jī)上進(jìn)行frameworks-res.apk替換后,電池圖標(biāo)將消失不見(jiàn)。

總結(jié)一下:

從新打包出來(lái)的文件拖放

res/drawable/stat_sys_battery.xml

res/drawable-hdpi/stat_sys_battery.xml

res/drawable-hdpi/stat_sys_battery_*.png

resources.arsc

到原apk文件的相同路徑下即可。

然后把framework-res.apk.zip傳到SD卡上,重命名回framework-res.apk;

用RE管理器將framework-res.apk復(fù)制到/system,更改權(quán)限為0777或至少0644(重要);

然后把更改好權(quán)限的文件剪切到/system/framework,覆蓋原文件;

手機(jī)自動(dòng)重啟(萬(wàn)一沒(méi)自啟就手工重啟下),就看到新的電池圖標(biāo)了。

以上步驟請(qǐng)勿顛倒,否則容易出現(xiàn)無(wú)限重啟的杯具。

再說(shuō)PC端編輯img文件的事:

先說(shuō)說(shuō)img文件從何而來(lái):

1. 高人解包sbf文件的來(lái)原版的system.img;

2. Defy Recovery軟件備份系統(tǒng)得來(lái)的img文件,一般我們要編輯的也是system.img文件。

用到的軟件是這個(gè):

過(guò)程很簡(jiǎn)單,用YAFFS2IMG瀏覽器打開(kāi)system.img文件,該刪的刪,該替換的替換,當(dāng)然這東西還有個(gè)很重要的用處:刪錯(cuò)了什么系統(tǒng)服務(wù)需要恢復(fù)apk包的話,可用這種方法到img文件里頭提取。

新替換進(jìn)去的文件注意要修改一下權(quán)限,右鍵需要改權(quán)限的文件,選“權(quán)限”即可:

參考其他文件的權(quán)限,有些鏡像里頭是0644的,有些是0777的,其實(shí)兩種都行,主要是給所有用戶(hù)讀權(quán)限,但跟其他文件改成一樣的心里舒服點(diǎn)。

精簡(jiǎn)系統(tǒng)服務(wù)、替換字體、替換frmaeworks-res.apk都可以在這里面完成。完成之后點(diǎn)擊“整理另存”,生成新的鏡像,存的時(shí)候接受默認(rèn)設(shè)置即可,如圖:

下面有一點(diǎn)很重要,用新生成文件替換原system.img文件后,需要編輯與之同一路徑的nandroid.md5文件。該文件記錄了每個(gè)img文件的md5碼,不修改的話,Defy Recovery恢復(fù)的時(shí)候會(huì)md5 checksum error,恢復(fù)不了。

用WinMD5、Hash之類(lèi)的軟件得到新生成的system.img文件的md5碼,然后用UltraEdit之類(lèi)的支持Linux格式文本的編輯器打開(kāi)nandroid.md5,替換system.img項(xiàng)的md5碼,注意小寫(xiě),不然比對(duì)的時(shí)候,Defy Recovery不認(rèn)為大寫(xiě)和小寫(xiě)是一碼事。這里用UltraEdit等比較專(zhuān)業(yè)的編輯器是因?yàn)閃indows下的換行符和Linux下是不一樣的(Android源于Linux),Windows自帶的編輯器會(huì)破壞Linux換行符,但我沒(méi)有測(cè)試Defy Recovery是否支持Win的換行符。另外,UltraEdit中將大寫(xiě)轉(zhuǎn)化為小寫(xiě)也很方便,選中要轉(zhuǎn)換的內(nèi)容,Ctrl F5就行了。

然后用正常的方法去恢復(fù)鏡像就行了,恢復(fù)之后你會(huì)發(fā)現(xiàn)該精簡(jiǎn)的精簡(jiǎn)了,該替換的也替換了。不過(guò)如果因?yàn)檫^(guò)度精簡(jiǎn)造成系統(tǒng)進(jìn)不去啥的請(qǐng)別找我,自己重新刷底包,再來(lái)過(guò)好了。

另:本文檔中提及的所有軟件都沒(méi)法提供下載(因?yàn)闆](méi)有空間,網(wǎng)盤(pán)又只能是臨時(shí)的),請(qǐng)需要的兄弟自行使用萬(wàn)能的google查找。

搞完收工,謝謝觀賞。

現(xiàn)在的效果是可以顯示13檔電量,分別為:

0 5% 10% 15% 20% 30% 40% 50% 60% 70% 80% 90% 100%

本來(lái)想做到1%精度的,無(wú)奈經(jīng)過(guò)簡(jiǎn)單測(cè)試以及查閱資料,發(fā)現(xiàn)Defy最多就只能支持到這13檔。

但比原生的7檔還是要精確一些的,有原XML配置文件為證:


 

手機(jī)資訊


手機(jī)資訊
經(jīng)典游戲新版本更吸引人 蘋(píng)果熱門(mén)游戲推薦
銷(xiāo)量口碑均占優(yōu) 各品牌手機(jī)中流砥柱一覽
低端手機(jī)哪個(gè)好 1000元左右智能手機(jī)推薦
720P視頻連播14小時(shí) 摩托羅拉XT910 MAXX評(píng)測(cè)
4.3英寸已成主流 超人氣大屏手機(jī)推薦
經(jīng)典游戲重現(xiàn)江湖 一周Android游戲推薦
電信定制售價(jià)1999元 HTC新渴望VC上市
三星五一全國(guó)促銷(xiāo) 熱門(mén)手機(jī)選購(gòu)?fù)扑]
不搶風(fēng)頭不算好手機(jī)?HTC Titan II解析
1.4GHz四核+2050mAh 三星GALAXY SIII現(xiàn)身



手機(jī)資訊
免費(fèi)才是王道 APP免費(fèi)應(yīng)用大全
iOS5更新 圖片+視頻演示自定義多點(diǎn)手勢(shì)
HTC S710e(Incredible S,2.3.3系統(tǒng))初體驗(yàn)
微生活 小清新 818我剛?cè)胧值腛PPO A127
WiFi減少不用愁 三招教你隨時(shí)無(wú)憂上網(wǎng)
大蔥玩手機(jī) 用天翼wifi熱點(diǎn)暢玩網(wǎng)絡(luò)應(yīng)用
中國(guó)式情人節(jié) 2011年77條七夕傳情短信
手機(jī)拍照寶典第一篇:手機(jī)拍出靚照技巧
打磨拋光后蓋小改造 HTC HD2電鍍版教程
手機(jī)流言終結(jié)者:智能手機(jī)真會(huì)中病毒?
手機(jī)論壇


  諾基亞手機(jī) 蘋(píng)果手機(jī) HTC手機(jī) 三星手機(jī) 摩托羅拉手機(jī) 索愛(ài)手機(jī)