部分人的手机刚买回家,实际上就被root了。
如果是用Unrevoked3刷新了recovery并root后,再想刷新recovery,就会失败。
每次到手机重启后running root...接着手机上会显示某个程序出错要强制关闭,最终就到了Failed to get root, is your firmware too new?的结局。
其实这是被root的su命令与superuser.apk程序卡住了。
当一个程序执行su的时候,由于su中写入了与superuser.apk互交的代码,每次得到root前,superuser.apk就会弹出对话框询问是否允许。
而Unrevoked3在/data/local/中准备好新recovery,系统ui刚准备好就开始su,这时候superuser.apk还不能响应,于是su一直不给root权限,最终导致更新recovery失败。
解决的方法很简单,就是用Google的SDK工具包。
在cmd命令行中输入adb shell,然后输入su,superuser.apk会照常询问是否允许,这时将记住操作的那个复选框勾上,然后exit。
adb shell
su
(在手机端勾记住操作并允许)
exit
exit
这样USB Debugging发送su时就可以直接通过检查而获取root了。
再次使用Unrevoked3刷新recovery就能成功了。
刷新完,记得将superuser.apk中的白名单清空。
unrevoked3的官方网站是:http://unrevoked.com/recovery/
clockworkmod recovery的官方网站是:http://www.clockworkmod.com/rommanager
尽量去官方下载站吧,减少android被病毒感染的可能。