这篇基本上是手工OTA操作备忘。
适用于以下设备:
- Nexus 4及之后的所有设备(更老的机型我没有测试过)
- 较新的Moto设备(Moto X等)
- Oneplus One(后续机型我不确定)
设备必须符合以下条件:
- 新系统和旧系统为同一ROM的新旧版本
- 已经解锁bootloader
- Android 5.0以上
请备份数据。本人不对任何数据丢失或者设备损坏负责。
你可能需要准备:
- 最新版的Android Platform Tools(或者Android SDK)
- 完整ROM(Factory Images for Nexus Devices)
- TWRP(下载)
- SuperSU(SuperSU Systemless Root 实验版本下载)
开始操作
首先解压ROM,以及里面的 image-....zip (如果有的话)。
手机进入fastboot模式,然后运行 fastboot devices ,你应该能看到设备列表。
这时候如果你看一眼 flash-all.sh ,注意到里面最后一行是 fastboot update -w image-xxx.zip ,把这个 -w 删了,直接无脑运行就好。但是这样有一个坏处:你可能来不及刷入第三方recovery或者root它(一定要这么做的话,看着进度,最后一次重启的时候按住组合键进bootloader即可)。所以现在我们来手工操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
fastboot flash bootloader bootloader-*.img fastboot reboot-bootloader # 等待设备重启 fastboot flash radio radio-*.img fastboot reboot-bootloader # 等待设备重启 cd image-* fastboot flash boot boot.img fastboot flash cache cache.img fastboot flash system system.img fastboot flash vendor vendor.img # 不同的设备可能还有更多的分区要刷,请参考 `flash-all.sh` 内的命令。注意千万不要刷 `userdata.img`。 fastboot flash recovery twrp-*.img fastboot reboot |
系统启动完成后,如果你需要root,则再重启进入recovery,进入sideload,运行:
1 |
adb sideload SuperSU-*.zip |
注
jtwebfusion @ XDA Developer指出,建议在新系统启动一次后再root;(2016年3月以后的官方ROM似乎不会出现这一问题了)- 等FlashFire和Systemless Root完全成熟,就不需要这么麻烦了。
刷机参考日志
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
$ ./flash-all.sh target reported max download size of 536870912 bytes sending 'bootloader' (4387 KB)... OKAY [ 0.208s] writing 'bootloader'... OKAY [ 0.219s] finished. total time: 0.427s rebooting into bootloader... OKAY [ 0.010s] finished. total time: 0.010s < waiting for any device > target reported max download size of 536870912 bytes sending 'radio' (56758 KB)... OKAY [ 1.493s] writing 'radio'... OKAY [ 0.665s] finished. total time: 2.158s rebooting into bootloader... OKAY [ 0.003s] finished. total time: 0.003s < waiting for any device > target reported max download size of 536870912 bytes archive does not contain 'boot.sig' archive does not contain 'recovery.sig' archive does not contain 'system.sig' archive does not contain 'vendor.sig' -------------------------------------------- Bootloader Version...: BHZ10m Baseband Version.....: M8994F-2.6.31.1.09 Serial Number........: 00112233445566 -------------------------------------------- checking product... OKAY [ 0.020s] checking version-bootloader... OKAY [ 0.020s] checking version-baseband... OKAY [ 0.020s] sending 'boot' (11517 KB)... OKAY [ 0.366s] writing 'boot'... OKAY [ 0.152s] sending 'recovery' (12569 KB)... OKAY [ 0.380s] writing 'recovery'... OKAY [ 0.174s] erasing 'system'... OKAY [ 0.458s] sending sparse 'system' (524186 KB)... OKAY [ 14.878s] writing 'system'... OKAY [ 5.096s] sending sparse 'system' (523865 KB)... OKAY [ 15.495s] writing 'system'... OKAY [ 5.445s] sending sparse 'system' (498477 KB)... OKAY [ 14.751s] writing 'system'... OKAY [ 5.848s] sending sparse 'system' (411338 KB)... OKAY [ 11.777s] writing 'system'... OKAY [ 4.668s] erasing 'vendor'... OKAY [ 0.096s] sending 'vendor' (190697 KB)... OKAY [ 4.898s] writing 'vendor'... OKAY [ 4.147s] rebooting... finished. total time: 88.783s |