先說下, 這次不是我的G7, 它在4.2.2下活的不錯, 先不折騰它了...
手里還有個Nexus 4, 剛拿來是就已經是4.3了, root之后一直用著調試在敲的游戲(I;P), 今天(三天前)接到系統更新, Kitkat 4.4來了, 手一抖就升級了...但由于root過, 中間出了點差錯, 然后就沒有4.4更新通知了...
一沖動, 根據XDA上的帖子, 自己下載了Kitkat的升級包, 來了此純手工的升級體驗. 記錄在此. 原始帖子在這里: http://forum.xda-developers.com/showthread.php?t=2018179
注: 此法升級為'破壞性'升級, 原有的數據會全部被刪除, 記得備份哦...
1. 準備
a. 下載安裝Android SDK;
http://developer.android.com/sdk/index.html
b. 下載Nexus 4的 Kitkat 4.4升級包; (occam-krt16s-factory-2006f418.tgz)
https://developers.google.com/android/nexus/images
c. 下載CWM Recovery Image; (recovery-clockwork-touch-6.0.4.3-mako.img)
http://clockworkmod.com/rommanager
d. 下載SuperSu更新包; (UPDATE-SuperSU-v1.80.zip)
http://download.chainfire.eu/370/SuperSU
(后兩個是為了Root用的)
2. 升級
a. 解壓升級包(occam-krt16s-factory-2006f418.tgz), 解開后包里含有下面文件:

b. 在安裝有Android SDK工具的目錄下打開一個Command窗口, 通過USB連接好手機, 輸入下面的命令
>adb reboot bootloader
然后手機會重啟到bootloader界面. 檢查界面上的數據, 如果此時沒有unlock, 通過下面命令解鎖;
>fastboot oem unlock
再次輸入下面命令, 重啟手機;
>adb reboot bootloader
最后, 點擊前面解壓文件中的flash-all.bat, 等待運行結束, 再重啟, 此時手機就升級到Google原生的Kitkat 4.4了.
(此后還可以通過fastboot命令再次鎖定boot)


3. root
我覺得Root也不是什么'神秘'的事情, 實際就是Android本身少了個su命令, 而沒法做root能做的事情了, 所以呢, 裝個su進去就好了.
Android系統上有三層, bootloader, Recovery和ROM, 簡單理解就是bootloader加載Recovery和ROM, 而Recovery用于安裝和管理ROM. 前面裝好了官方的4.4 ROM, bootloader也是有的, 那么再裝個Recovery就好了, 因為官方系統是沒有Recovery的.
a. 啟動系統到bootloader
>adb reboot bootloader
b. 刷Recovery
>fastboot flash recovery recovery-clockwork-touch-6.0.4.3-mako.img
c. 重啟系統, 拷貝SuperSu (UPDATE-SuperSU-v1.80.zip) 到SDCard上
d. 啟動系統的Recovery
>adb reboot recovery
e. 安裝su命令到系統
在Recovery模式下, 選擇'install zip from sdcard'找到SuperSu的壓縮包, 點擊安裝, 然后重啟
OK, 這時就能在adb shell中使用su命令了, 也就是Root了.
4. 其它問題
這里需要注意的時, 再次啟動到Recovery模式, 系統會顯示沒有Recoery系統, 可以通過如下命令'固定'Recovery.
>adb shell
$su
#mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
#mv /system/etc/install-recovery.sh /system/etc/install-recovery.sh.bak
這樣Recovery就被固定下來了, 下次就可以繼續使用了, 但還有個問題, 那就是此時SuperSU沒法正常使用了, 點擊SuperSu會提示'Su需要手工安'等類似的錯誤, 要解決這個很簡單, 再通過Recovery安裝一次SuperSu安裝包就好了.