我知道你們一定和我一樣在system分區幹了奇怪的事情
然後驗證通不過了吧
啊哈哈哈哈哈除了fastboot刷system鏡像之外,你還可以這樣修復。
首先我們先理解一下OTA包的原理
實際上解包以後可以發現其實是一大堆差量補丁。
這就是說,修改/system分區下原有的文件時會死的,往裏面寫新的文件時不會死的。
另外我們可以看到,這次升級只修改了/system和內核(/boot)和recovery,而沒有修改radio
準備
- 4.4.3-KTU84M-from-4.4.2-KOT49H 從4.4.2到4.4.3的升級包 可從這裡下載,(4.4.4-KTU84P-from-4.4.3-KTU84M 可從這裡下載,5.0-LRX21O-from-4.4.4-KTU84P 可從這裡下載)其他版本請從文末的原帖下載
- Nexus5官方鏡像 下載4.4.2 KOT49H(升級4.4.4同理,下載4.4.3鏡像)
- 下載ext4鏡像解包工具 Android ICS JB EXT4 imagefile unpacker
- 你也可以到這裡下載
最省力的辦法(大版本升級適用)
進入fastboot,摳出鏡像中的img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
糾結的辦法(小版本升級適用)
自查
- 是否安裝了Xposed,如果是,使用自帶的卸載功能
- 是否使用過修改build.prop的應用(改機型、分辨率,etc)。在官方鏡像中找到/system/etc/build.prop覆蓋
- 是否使用幸運破解器的Android核心破解?。在官方鏡像中找到/system/framework/core.odex覆蓋;自帶的恢復功能無法變回一模一樣
- 刷過新的內核?從官方鏡像里找到boot.img,在fastboot下刷入 fastboot flash boot boot.img
- 刷過第三方recovery?從官方鏡像里找到recovery.img,在fastboot下刷入 fastboot flash boot recovery.img
- 某個版本的SuperSU之後,會在開機修改/system/bin/install-recovery.sh,需要手動替換
- 可以在adb shell 中使用find /system -type f -mtime -xxx,xxx是鏡像編譯日期到今天的天數
這些操作不影響本次升級
- root,安裝了busybox,等
- unlock bootloader
刷了radio- 修改了hosts
搞定了?
- adb reboot bootloader
- 進入recovery
- 音量+鍵調出菜單->apply update from adb;連電腦上,輸入adb sideload c1a33561be84a8a6a7d5a4c8e3463c4db9352ce6.signed-hammerhead-LRX21O-from-KTU84P.c1a33561.zip
- 喝杯茶
RP極好的話就成功了,但是一般來說會有某些文件hash失敗,提示status 7
PS: 如果你使用Win8或以上系統,遇到device not found/未知設備,請高級啟動->禁用驅動程序預先簽名,並啟動Device Install Service服務
這樣的話就要再到鏡像里摳出來覆蓋了
我的情況是/system/lib/libbt-hci.so掛了,不知道哪個混蛋應用改掉的
以上ww
本文大部分姿勢來自:http://forum.xda-developers.com/google-nexus-5/general/info-nexus-5-ota-help-desk-t2523217
這個壓縮軟件叫啥?
winrar 主題叫WinRAR RefreshCL
太感謝lz了..當初找log記錄.發現是code.odex無法通過校驗,,,猜到是幸運破解器的問題..恢複核心也無效,,原來是那個恢復是不能通過校驗啊..
手賤黨握爪
奇怪了…我已經提取過官方的/system/framework/core.odex文件覆蓋過去了 怎麼更新還提示這個文件有問題??
提取的版本是不是原來安卓的版本?可以看一下時間戳,就知道有沒有覆蓋成功了
最後弄好了,原來是提取出來的時候出問題了,提取的文件校驗碼不符,重新提取了一遍就好了
good
這是什麼頭像,好厲害。。
嘛 啊哈哈哈哈哈超贊的