[ Android 系統 ] 取得 root 權限的 Desire,如何透過 OTA 升級?

OTA,不是御宅族的 OTA,而是指行動電話傳遞資料的一種方式,全名叫 Over-the-Air,意思是透過無線資料網路傳遞資料的方式。


Android 的更新可以透過 OTA 來完成。這次台灣的 HTC Desire 升級為 Android 2.2 就是透過 OTA 的方式。這是一種線上更新方式,要更新的機器,必須連接上電信商提供的資料網路(或是說 3G 網路,也許比較好理解),或者像 Desire 這種支援 Wi-Fi 的機種,也可以透過 Wi-Fi 網路更新。總而言之,就是必須連上網路才能更新。另外一種更新方式就是離線的 ROM 更新程式。例如 HTC 日前釋出的 HD Mini 的 ROM 升級工具,就可以讓機器在不連接資料網路的情況下,透過電腦,離線更新。真希望能拿到 Desire 最新版的 ROM 升級工具啊…這樣就可以無後顧之憂的(消音)…

如果手上的 Desire 曾經使用過如 Android 日記:取得 Desire 的 root 權限 這篇所介紹的方式取得 root 權限的話,會發現更新過程中,畫面進行到出現一個三角形中間包著一個驚嘆號的地方,就不會動了。如果此時按下 [電源] 鍵,畫面會秀出 ClockworkMOD Recovery Menu。然後更新並沒有完成。

此時需要手動做一些動作,才能完成更新。注意:更新完畢後,由於 recovery image 會從手動置換的 Clockwork recovery image 被還原成官方的 recovery image,因此 root 的權限會消失。目前(文章撰寫當時)已知,除了刷上已經取得 root 權限的 ROM 以外,還沒有其他方式可以取得 root 權限。因此,如果不想使用他人的 ROM,那麼就需要耐心等待新的方法出現。

更新前注意事項:如果曾經修改過 /system 底下的檔案,就需要把檔案還原。原因是,執行升級的過程中,會去比對檔案。如果為了增加 /system 的空間,而把某些檔案移除,無法還原的話,會導致檢查失敗,進而導致更新失敗。

以下就是更新步驟(請注意:執行此步驟前,需要先在手機開機的情況下,完成下載更新的動作):

  1. 如果還停留在 ClockworkMOD Recovery Menu 畫面,請跳到步驟 3。
  2. 如果是關機狀態,請按住 [音量 –] 鍵,按一下 [電源] 鍵開機。進入 Bootloader 後,放開 [音量 –] 鍵。然後按一下 [音量 –] 鍵,讓光棒移到「Recovery」上,按一下 [電源] 鍵,進入 ClockworkMOD Recovery Menu。
  3. 在 ClockworkMOD Recovery Menu,利用 [音量 –] 鍵或是光學軌跡球,將光棒移動到「install zip from sdcard」,然後按一下光學軌跡球,進入次選單。
  4. 在次選單,利用 [音量 –] 鍵或是光學軌跡球,將光棒移動到「choose zip from sdcard」,然後按一下光學軌跡球,進入選擇檔案畫面。
  5. 在選擇檔案畫面,利用光學軌跡球,將光棒移動到「download」這個目錄,然後按一下光學軌跡球進入該目錄。
  6. 在 download 目錄中,可以看到一個檔案,開頭是「OTA_Bravo_Froyo_Chunghwa_」,利用光學軌跡球,將光棒移動到該檔案上,然後按一下光學軌跡球,正常來說,此時就會開始檢查檔案與進行更新的動作。

稍早前曾經提過,必須要確定原本存在於 /system 底下的檔案都要存在,如果不存在,在步驟 6 之後,使用者應該可以看到類似下面的訊息:

assert failed: apply_patch_check(“/system/media/audio/ringtones/Windchimer.mp3”, “31f060159139da5b727d47e5742870e5eb5932cb”, “43ba0deb6b42d16b1e745862ec8dc99f5479097e”)

然後就會導致更新失敗。其中 apply_patch_check() 中,第一個雙引號所包含的,就是失蹤或是比對 hash 值失敗的檔案。

Android 日記:取得 root 權限後,開始對 /system 動手!在那之前… 這篇文章中提過,不要刪除 /system 底下的檔案,而是搬移到 SD 卡中。目的就是為了避免這種慘劇發生。如果真的把檔案刪除了,那麼,

  1. 如果在動手前,有使用 Clockwork recovery image 的 nadroid 中的 Backup 功能,就可以用 Restore 還原。
  2. 如果沒有,可以去取得一個目前網路上流傳的 HTC Desire 繁體中文版官方 ROM 升級工具,利用其中的 rom.zip 裡面的 system.img,搭配 Android 日記:利用 unyaffs 解開 system.img 介紹的 unyaffs,來還原檔案。