android手机root之后才能取得系统最高权限,用起来才舒爽;但这样也带来一个副作用:无法OTA升级,如果收到OTA升级通知后点击升级,那最终的结果只能是看到一个倒地的机器人。。。
网络上的文章说解决这个问题的办法一般是使用supersu的反root功能清除root权限,这个办法并不能保证100%成功,因为root了之后,你可能对system区进行了一些更改,某些有root权限的APP也会在你不知情的情况下更改system区数据,而system区只要有一点点更改,OTA升级就肯定失败!我之前5.1.0 (LMY47D)升级5.1.0 (LMY47I)使用这个方法失败!这次5.1.0 (LMY47I)升级5.1.1 (LMY48B)反root后也是失败(RP不好么-_-||)
我的手机为NEXUS5 5.1.0有内存泄露BUG,具体表现为使用一段时间后系统内存占用很高,超过1G,很卡很卡,只能重启解决!几天就要重启一次很蛋痛,所以我急需升级5.1.1,既然反root升级失败,那就只有用之前升级LMY47I的老法子了
注 这个法子比较折腾 好处是操作完后OTA升级100%成功 无需重置。
进行操作之前请确认系统已经安装好驱动(不知道如何安装驱动?请参考此文章)并且有adb shell(下载此文件解压到C:/adb并把这个文件夹加入系统变量)
- 下载你当前系统的刷机包
- 解压到C盘根目录 文件夹命名为img
- 把解压出来的zip文件再解压到当前文件夹
编辑flash-all.bat,把
fastboot -w update image-hammerhead-*****.zip
注: *****为版本号
更改为
fastboot flash recovery recovery.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash boot boot.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash system system.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot reboot
更改完后保存文件。
最后把手机进入fastboot模式(各机型进入方法不一,请自行google之,NEXUS5的进入办法是同时按住音量加键和音量减键再按开机键)后插入电脑,运行flash-all.bat
这个办法是重新刷写原厂bootloader radio(基带) recovery boot system 因为没有刷写userdata 所以用户数据是会保存的 刷写需要一定时间 请耐心等待完成 刷写时请不要动手机或电脑 (刷机有风险 动手需谨慎)
完成后会自动重启,之后就可以点击检查更新进行OTA升级了。
注意点:下载的刷机包一定是要和你当前的版本一致,请见设置-关于手机-版本号
此办法理论上适用于所有nexus设备