還原 Android 系統內建 App
在上一篇「刪除 Android 系統內建 App」中,有提到刪除系統鍵的 App 就無法刪除。
其實,並不是沒有辦法刪除,而是還原的過程有點小麻煩,本文就介紹如何從 RUU 提取 app 並將它還原。
這篇文章仍以 HTC Incredible S 為例,目前該手機的版本是 4.0.4。
在前一個 2.x 版本時,系統更新是透過「設定」-> 「關於手機」->「軟體更新」進行更新。
如果有 HTC 官方的更新,就會即刻下載更新軟體並且進行更新。
而所謂的 RUU (Rom Upgrade Utility) 就是給在 Windows 環境的更新程式,透過 USB 讓電腦與手機連線,進行更新。
而目前 HTC Incredible S 最新版本的 RUU 是:
RUU_VIVO_ICS_35_S_TWM_TW_4.10.921.1_Radio_20.74.30.0833U_3831.18.00.11_M_release_266252_signed.exe
有需要的朋友可以根據檔案名稱 Google 一下,就可以在免空中找到…
下載 RUU 後,我們就可以執行該檔案,等待 RUU 程式解壓縮檔案至檔案系統,如果跳出 RUU 刷機程式視窗畫面後就可以關閉。
此時,我們做的就是找到 RUU 解壓縮暫存的目錄,找到 rom.zip 檔案:
在 Windows 7 環境下,暫存目錄在 C:\Users\[username]\AppData\Local\Temp\{6C0B00C-D016-40A9-9168-A0260BA692}\{50F2F878-636A-496F-A7CB-544C067EC4B}
紅色的部分,請根據登入 windows 的帳號名稱…
藍色的部分,名稱每次都不太一樣,可以根據檔案的最後更新時間來找找看…
或是在檔案總管中,前往 %temp% 就比容易尋找…
找到 rom.zip 後,請把他複製出來…
接下來,使用解壓縮軟體打開 rom.zip,你會看到下列一系列檔案,跟系統檔案相關的就是儲存在 system.img 中:
然後,請將 system.img 複製出來…
system.img 映象檔是 ext2 檔案格式,不同於 windows 認識的 FAT、FAT32、NTFS 之類的檔案系統格式。
所以,即使使用虛擬光碟將 system.img 檔案載入,依舊沒有辦法可以打開 映像檔抽取系統檔。
我們可以透過 Explore2fs 進行操作,將 system.img 載入:
使用 Explore2fs 就可以載入 ext2 及 ext3 檔案系統:
File –> Open Image File –> 選擇 system.img:
載入後,我們可以進入 app 目錄,裡面就是所有 /system/app 的檔案 ( 包含 xxx_TWM_xxx 台灣大哥大內建軟體 )
我們可以根據檔案名稱,將你誤刪或需要的 apk 及 odex 檔案提取出來。 (如果對 apk 及 odex 有興趣的,請參考 odex 說明)
提取出來的 apk 及 odex 檔案,我們可以先複製到 sd 卡,然後開啟 android 上的有 root 權限的檔案系統管理 app ,ex:Root Explorer
首先,我們先觀察一下這些 apk 的檔案權限,長按任一檔案跳出功能選單,選擇「Permissions」。
目前在 sd 下的軟體權限為 075:
而在 android 中,/system/app 下的所有檔案都必須是 644:
但是,在 sd 上是沒有辦法修改檔案的權限的,你會得到以下錯誤訊息:
所以,我們先透過 menu 鍵 –> 選 Multi-select –> 挑選我們想要還原的檔案:
按下「Copy」複製,再前往 /system/app 下,進行「Paste」 貼上動作:
不過,別忘記要按右上 「Mount R/W」 按鈕,將權限改為 Read and Write ,否則會得到警告訊息:
再次使用「Paste」貼上:
接下來最後的動作,就是調整檔案權限從075 –> 644,這樣就算是完成:
當你把所有的系統內建的 app 還原後,重新開機系統應該就會重新安裝那些 /system/app 了。
如果沒有的話,在此建議各位還是先備份檔案再重置手機,步驟如下:
(1) 「設定」->「儲存空間」->「恢復原廠設定」
(2) 點「重設手機」:
(3) 依照畫面指示,畫出解鎖圖案,然後點「清除全部」,系統就會重新啟動重新安裝 android 系統囉!