2年前入了个一加2手机,还写了篇博文评论了一番,到现在2年了还一直用的这个机子.不得不说确实是个耐艹的千元机,到现在摔了不下5、6次,却只有边框稍微凹陷一点而已。而之前用的诺基亚1520摔一次就屏幕全裂了「、
机子刷成氧OS用了一年多,感觉一直挺好的。但是不知从什么时候开始系统的OTA更新总是更新失败。一加相比其他厂商挺好的,一加2一直到前几天还给推送了新的更新,虽然不说上奥利奥,连牛扎糖都吃不到,但是系统的bug一直都在修复,andoird的安全漏洞也一直有在补上。
因为OTA更新一直失败,所以有更新提示也基本上没去管了。昨天不知道怎么的突然想找找看到底是什么原因搞的不能更新,因为自从刷了氧OS之后root都没root了,连官方的recovery都没刷掉过,不至于突然就没法更新了。
于是还是Google上查了下,发现挺多人遇到同样的问题。而且全部都是android全盘加密后才出现的问题。之前把氢刷成氧就是因为氢一开加密系统就挂,才换成氧的,没想到换成氧后加密还是有坑。
手机的OTA更新会把更新包下载到内部存储中,然后再从revocery模式中加载更新包更新。虽然不清楚android的加密是否只加密/data分区。但是通过adb到手机中可以看到/data跟/sdcard确实是挂载的同一个分区。那么就能看出因为recovery的时候并没有对数据分区进行解密操作(这需要手动输入密码解密,看来是recovery一直是很早之前android还没这个特性的时候写的,也一直没给更新,所以也没让解密),那么recovery就加载不了更新包没法更新。网上找了一圈,有在讨论这个问题的几乎全是在说的一加手机。
既然没法通过手机自己更新,那么就只能不通过内部存储走usb线sideload更新了。OTA程序会将完整全量包都下载到内部存储中,于是adb pull把更新包先下载到电脑上,再刷回去了。虽然是2.0接口的,但是传输速度比想象中的慢得多,7m/s的速度花了好长时间才把1.2G的包传到电脑上。
重启到recovery通过sideload刷更新包。速度确实也很慢,花了快1h的时间。结果。进度到92%的时候。自行中断重启了。。在试了第二次情况一样后,上Google查了下。
不出所料,海外一加论坛也是大批的人出了这问题,sideload更新一到92%就崩,而且共同点:开启了android的加密功能。
到这里我已经懵逼了,因为失败现在手机已经无限开机时重启了。估计是因为更新脚本中有些操作需要读写到数据分区导致的更新失败。当时已经凌晨2点了,第二天还要上班。。如果数据全部清掉重刷系统应该是可以解决的,但是这些数据又很重要。就。很。完蛋。
最后手机还是救回来了。吧。幸好一加官网还给提供所有手机氧OS的全部历史包,尝试把原先版本的系统刷回去时也是92%就挂,但是估计是因为后面的操作一直都没成功过,所以遗留原先的部分跟刷完的版本正好对的上,所有机子可以成功开机运行了。仔细想想,或许OTA更新时更新程序事先把更新包拷出来了能够加载上,却因为92%时的操作失败才导致的问题?反正!这破系统我是不敢再更新了!
@