2010-09-17

更換預設電量圖示

原來 Android OS 裡面在顯示手機電量的方式,是在畫面右上角、狀態列裡右邊的電池圖示,雖然也有所剩電量比例,但圖示很小、分不出到底還剩下多少電,坊間雖然有一狗票電池監控的軟體、或能放在桌面的電量 Widget,但怎樣都沒有在狀態列裡方便。於是我找了個能在狀態列顯示電量、而且是以「百分比」字樣顯示的 Battery Indicator,功能陽春但免費,一掛就沒拿下來過了。(付費版的 Battery Indicator Pro 多了一個功能,就是可以根據電量用不同的顏色來識別,官網還有原始碼下載,作者真是佛心來的)

不過一個狀態列上有兩個電量標示圖示感覺挺累贅的,Android 原生的又關不掉,如果能拿能顯示剩餘電量百分比的圖示,直接取代原生功能該有多好!不但不用多裝個軟體來顯示、多浪費狀態列空間,也算是強化原生的電量顯示功能。最早在對岸有看過類似的修改文章,不外乎就是拉出系統電量顯示的圖示 resource 檔,手動整套翻新再重新封裝,然後再想辦法塞回手機取代掉原來的。不過這些手動改檔封檔的動作太過繁複,每個人愛的圖示組又都不一樣,所以看過該文章參考就算了!這兩天在 Mobile01 看到網友分享修改電量百分比圖示的 Step by Step 教學文,馬上就來依樣畫葫蘆,沒想到一次就成啦!當下就把 Battery Indicator 移除,因為我有更炫更棒的圖示啦!

更換圖示前我手機的狀態列。右上角那個綠色電池就是 Android 預設的電量圖示,看不出剩餘電量的百分比,左上角那個有百分比的圖示是裝 Battery Indicator 產生的

更換圖示後我的狀態列。右上角已經換成有百分比的圖示(而且有漸層色變化),Battery Indicator 就可以移除省記憶體,狀態列也更簡潔一點啦!

詳情請參閱圖文並茂的原文:線上製作個人化的電池%比圖示

步驟的原理是:提供這項服務的強者網友(服務網址在此:Ultimate Online Theme Kitchen),把選擇和製作圖示的功能網頁化(包含自己決定樣式),決定圖示後,讓使用者上傳自己手機裡的 resource 檔 (\system\framework\framework-res.apk),透過後端服務幫你替換圖示並重新封裝,順道還幫你做成安裝用的 zip 壓縮檔。因為這個修改牽扯到系統顯示,因此一定要在 recovery 模式、透過自製 recovery 內建的刷機功能把修改過的 resource 刷入,重新開機就大功告成了。不過開始前請檢查並注意以下幾點:

  1. 只支援 root 過、有自訂 recovery 的修改手機 (原官方韌體不支援)
  2. 網友回報部份廠牌型號的手機不會 work (Moto, CHT800, Samsung I9000,我自己的 Magic + Android 2.1 很順利)
  3. 檢查手機的 \system\framework\ 目錄下是不是有 framework-res.odex (有 odex 檔的手機,修改過的 resource 檔無法套用)

沒問題的話連去服務網頁(目前仍持續在更新中),首頁有幾個選項,第一個是套用現成的圖示組,第二個能自訂樣式(另外選項和修改電量%圖示無關)。接下來進入樣式選擇,最重要的是先決定狀態列背景色,有的是淺色 (白色),那百分比字樣當然要選擇深色系,像我的 Magic 上了 Android 2.1,用的是深色背景,那麼就要挑 black taskbar 的。第二頁則是詢問要不要「順道」替換聊天和其他狀態列圖示(沒勾 include icons 就不會更換),第三個步驟是上傳你手機裡的 framework-res.apk (可以用 "adb pull \system\framework\framework-res.apk ." 把檔案從手機裡拉出來),上傳完該服務會幫你製作安裝用的壓縮檔、並告訴你檔名,讓你到下載網頁下載。下載檔案後,只要把該 zip 檔複製到手機記憶卡的根目錄、進到 recovery 模式 (關機,再用 Home+Power 開機),用內建的 Flash zip from sdcard 功能來刷機(怕死的話記得先備份),刷完重開、更換電量圖示的工作就搞定啦!

更換圖示服務的首頁,只要點選照螢幕提示做就能產生對應的改機檔

Hack 那麼簡單,還好一開始沒有去參照對岸的教學文,弄到大粒汗小粒汗(還不一定會成功),不過不知道這個服務的時效性有多久,沒事有空還是先做一下來放著、並記得備份相關檔案,以後要重新刷機的話還都用得到啦~

回應: 3

西楼 提到...

在么?
新建了个小站cmbtuan.com,打开主页后,在上方的标题栏点击“留言”页面。可是在留言页面的下面却找不到“留下评论”几个字,造成无法评论。
是不是被什么代码给隐藏了?
盼复。

匿名 提到...

Abin大
請問一下,最後的步驟不只上傳framework-res.apk,還要選擇使用的ROM
我的是T-Mobile的ROM,可是不在選單裡
只上傳framework-res.apk是可以製作,可是flash時會出現E:Error in /sdcard/UOT-....zip(Status 0)
這樣我還有辦法製作嗎?

P.S. 我沒有framework-res.odex喔

Unknown 提到...

請問~如何檢查手機的system?
感恩!

張貼留言

歡迎留言或發表意見,不過要理性不做人身攻擊。匿名的朋友得到回應的速度會比較慢喔~
發問相關的禮貌和規矩請先參考這篇文章,不當留言、和本文無關的回應可能會被直接刪除無視喔!