ROOT后,怎么OTAsvn更新后怎么撤销

经验254 米
在线时间22 小时
版本7.3.31
积分 306, 距离下一级还需 194 积分
积分 306, 距离下一级还需 194 积分
机型小米Max 标准版
MIUI版本7.3.31
我用稳定版,之前为了获得root, 刷入第三方recover,
每次升级包只能卡刷
现在嫌麻烦,想直接在线ota更新,,请教如何恢复官方re,,可以进行OTA更新,,同时保留root,,稳定版的。谢谢
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
配电柜 http://www.diangui.org/
经验24406 米
在线时间923 小时
版本7.6.26
机型小米Max 标准版
签到次数99
MIUI版本7.6.26
楼主你好,这个是不可能的,如果想直接升级只能是刷回官方系统,但roor就会没有了
经验254 米
在线时间22 小时
版本7.3.31
积分 306, 距离下一级还需 194 积分
积分 306, 距离下一级还需 194 积分
机型小米Max 标准版
MIUI版本7.3.31
楼主你好,这个是不可能的,如果想直接升级只能是刷回官方系统,但roor就会没有了 ...
刷的本来就是官方的,,官方的卡刷包
配电柜 http://www.diangui.org/
经验8914 米
在线时间11 小时
机型小米Max 高配版
签到次数48
MIUI版本7.6.8
请问大神!!!!
经验784 米
在线时间31 小时
版本V8.2.8.0.MAMCNEA
积分 851, 距离下一级还需 1149 积分
积分 851, 距离下一级还需 1149 积分
机型红米手机4X
签到次数40
MIUI版本V8.2.8.0.MAMCNEA
不行的,想otg就需要官方rec,现在稳定版要root,就需要第三方rec,这是冲突的,可以等看有大神可以解决不。
经验254 米
在线时间22 小时
版本7.3.31
积分 306, 距离下一级还需 194 积分
积分 306, 距离下一级还需 194 积分
机型小米Max 标准版
MIUI版本7.3.31
不行的,想otg就需要官方rec,现在稳定版要root,就需要第三方rec,这是冲突的,可以等看有大神可以解决不 ...
哦,那只能这样了,,,,,
配电柜 http://www.diangui.org/
参与红米Note 4X活动
2017年小金鸡勋章
回复2016年度评选活动贴
APP 1000万
MIUI论坛APP注册用户突破1000万纪念勋章
小火箭勋章
神舟11号 话题活动
MIUI 300周
MIUI 300周更新纪念勋章
小米六周年
小米六周年米粉节
小米5发布会
参加小米5发布会直播页大转盘抽奖获得
解答组专属勋章
解答组专属勋章
已关注极客秀微信
已关注微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI年度优秀勋章
MIUI六周年
MIUI六周年纪念勋章
小米7周年勋章
2017米粉节晒单赢专属勋章
“澎湃S1 ”芯片纪念勋章
参与活动回帖可得
圣诞节勋章
参与圣诞活动
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号已root Nexus 5x/6p/5/6/9/7/4 如何OTA升级?-解决OTA升级到安卓6.0.1出现机器人倒地 ...
号更新:小编我第一次写这个帖子的时候还是2013年,考虑到这个帖子年久未更新,而且还有很多人需要类似的帮助,今天就专门更新一下,适配安卓6.0.1我们知道root后由于破坏了系统的完整性,无法通过ota的 ...
号更新:小编我第一次写这个帖子的时候还是2013年,考虑到这个帖子年久未更新,而且还有很多人需要类似的帮助,今天就专门更新一下,适配安卓6.0.1我们知道root后由于破坏了系统的完整性,无法通过ota的验证,所以root后,正常情况下是无法ota升级的。不过办法还是有的。办法一:使用FlashFire小编首先推荐您root后使用FlashFire,具体见,这个软件的作者是supersu的作者,通过它可以在ota的过程中帮忙您恢复到原生的recovery和内核,然后ota升级成功后,再重新root。这样就解决root后无法ota升级的问题了,不过如果您root且刷入了xposed框架的话,就得自己刷system.img和boot.img了,请看办法二办法二:刷入system.img和boot.img以恢复原生系统完整性1.下载对应原生安卓系统版本的的system.img和boot.img到您的电脑中:您可以在inexus的系统底包收集贴里找到,地址,解压然后提取出system..img和boot.img请注意不要选错了设备与版本。然后将system.img和boot.img存放到一个指定的目录,比如C盘根目录。(重要!)2.搞定你的fastboot和adb驱动,教程见:3.将nexus设备进入fastboot模式(关机状态下,按住音量下和开机键几秒),然后链接手机和PC。4.电脑端,在开始菜单,点击运行,输入cmd,在弹出的命令提示符中输入dos命令进入您之前存放system.img的文件夹(比如c:/),然后再输入命令fastboot flash system system.img,回车,稍等片刻应该就可以了。刷boot.img就用fastboot flash boot boot.img5.重启再来ota升级一个小建议:既然我们需要下载这么大一个包,何不直接刷机?具体方法参照。同样不会丢失您从前的软件及数据。(任何方式的刷机包括OTA均有风险,请多多注意备份)本方法理论上应该完全支持Nexus 5/5x/6/6p/7/9/10/4 root后平板和手机的OTA更新,希望您喜欢并支持。
加pixel中文网官方微信公众账号,扫描下图或者搜索"pixel中文网"关注!
上一篇:下一篇:
重新root下
921安卓酷机
1177爱谷歌
639谷歌应用
305420基础入门
185185nexus5教程
170098基础入门
153188进阶玩法
146176进阶玩法
129607Nexus 5
110673基础入门
103532nexus5教程
103063Nexus 5
94860进阶玩法
305418基础入门
185185nexus5教程
170098基础入门
153187进阶玩法
146176进阶玩法
129607Nexus 5
110673基础入门
103532nexus5教程
103063Nexus 5
94860进阶玩法
是为全球所有华人google迷提供交流最新,,,,,,谷歌,安卓资讯,业界科技信息,使用和玩机技巧的科技资讯社交媒体网站
Powered by
nexus中文网QQ群(只加注册用户):(主力群), 8269925,moto x粉丝群1299655后使用快捷导航没有帐号?
平板/笔记本
云服务专区
手机root后收到ota可以正常升级吗?
&登堂入室&
来自:荣耀6plus PE-TL10
手机用kingroot Root过了,今天竟然收到ota,请问可以正常下载升级吗?会不会卡在开机画面?
width:100%">
&渐入佳境&
来自:荣耀6plus PE-TL00M
width:100%">
&登堂入室&
来自:荣耀6plus PE-TL10
FMVP哈哈 发表于
那我可以解除root再升级吗?
width:100%">
&略有小成&
来自:浏览器
我是可以,之前emui3.0的时候root了。然后半个月前,一口气OTA升级到极客版6.7.16。
width:100%">
&略有小成&
来自:浏览器
补充下,6.7.16用kingroot& & root不来。
width:100%">
&略有小成&
来自:荣耀6plus PE-TL00M
安卓6.0可以
width:100%">
&炉火纯青&
来自:荣耀6plus PE-TL20
可以升级的
width:100%">
&登峰造极&
来自:荣耀6plus PE-TL10
width:100%">
&渐入佳境&
来自:荣耀6plus PE-TL00M
hmd1559 发表于
那我可以解除root再升级吗?
width:100%">
&渐入佳境&
来自:荣耀6plus PE-TL00M
FMVP哈哈 发表于
我经历过,我很清楚
width:100%">
撒狗粮北京雁栖湖美景万泉河上水花溅病床前的光影养生圣地新林小镇苍翠的夏天
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利1962人阅读
SELinux&&SEAndroid(8)
一、问题描述:
& & 常常跟OTA打交道的朋友可能会经常遇到客户root后的手机OTA升级失败的问题,如果用户取得root权限,手误破坏了system分区数据,是很有可能导致OTA升级失败的,甚至导致手机无法正常开机,因此为了避免取得root权限的手机ota升级失败导致无法开机的情况,我们在OTA升级前对设备进行root检测,如果发现设备已经root,则禁止手机安装更新。
二、实现方案:
1.修改update_script打包脚本:
/* /bootable/recovery/ota_from_target_files.py */
def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip):
& script.AssertRootCheck()
& script.AssertSomeFingerprint(source_fp, target_fp)
/*&Edify_generator.py */
& def AssertRootCheck(self):
&&& cmd = ('root_check() ||abort(&This phone has been root or an error occurred, can not upgrade.&);')
&&& self.script.append(cmd)
下面是升级过程中recovery相关log:
====== Updater-Script:
mount(&ext4&, &EMMC&, &/dev/block/mmcblk0p6&, &/system&);
root_check() ||abort(&This phone has been root or an error occurred, can not upgrade.&);
file_getprop(&/system/build.prop&, &ro.build.fingerprint&) == &***& ||&file_getprop(&/system/build.prop&, &ro.build.fingerprint&) == &***& ||&abort(&Package expects build fingerprint of *** or ***; this device has & + getprop(&ro.build.fingerprint&)
+ &.&);
getprop(&ro.product.device&) == &***& || abort(&This package is for \&***\& this is a \&& + getprop(&ro.product.device&) + &\&.&);
ui_print(&Verifying current system...&);
& & 如上,脚本第一句是挂载system分区,这是升级前必须要做的动作。之后,在校验fingerprint之前增加了root_check()的动作。这里root_check()是一个接口,该函数的函数体以二进制代码的形式也保存在HOTA包中,供升级时调用。
2.修改安装更新时对应root检测接口root_check()函数:
#define ROOT_SAVE_MAGIC& 0x
#define ROOT_UNIT_MAGIC& 0x
#define ROOT_MAX_RECORD& 1024
#define MAX_TIME_LEN&&& 32
#define MAX_ACTION_LEN& 32
#define TASK_COMM_LEN&& 16
struct root_save_head{
&&&& int &&&&&&&&&
&&&& int &&&&&&&&&
&&&& char&&&&&&&&& reserved[512-8];
struct root_save_unit{
&&&& int &&&& &&&&&&
&&&& pid_t&&&&&&&&&
&&&& pid_t&&&&&&&&&
&&&& pid_t&&&&&&&&&
&&&& int &&&& &&&&&&
&&&& int &&&& &&&&&& fork_by_&&
&&&& char&&&&&&&&&& parent_name[TASK_COMM_LEN];
&&&& char&&&&&&&&&& process_name[TASK_COMM_LEN];
&&&& char&&&&&&&&&& thread_name[TASK_COMM_LEN];
&&&&&&& char&&&&&&&&&& action[MAX_ACTION_LEN];
&&&& char &&&& &&&&&& time[MAX_TIME_LEN];
&&&& char&&&& &&&&&& reserved[512-136];
static struct root_save_head& save_head_
static struct root_save_unit& save_unit_
static const char *ROOTM_PATCH = &/dev/rootm&;
Value* RootCheckFN(const char* name, State* state, int argc, Expr* argv[]) {
&&& if (argc != 0) {
&&&&&&& return ErrorAbort(state, &%s() expects no args, got %d&, name, argc);
&&& int result = 1;
&&& int magic = 0;
&&& int count = 0;
&&& int index = 0;
&&& int result_check=1;
&&& fd = open(ROOTM_PATCH, O_RDONLY, 0);
&&& if(fd == -1){
&&&&&&& fprintf(stderr, &Can not open %s, errno=%d\n&, ROOTM_PATCH, errno);
&&&&&&& result = 1;
&&&&&&& return StringValue(strdup(result == 0 ? &t& : &&));
&&& if(sizeof(struct root_save_head) != read(fd, &save_head_tmp, sizeof(struct root_save_head))){
&&&&&&& fprintf(stderr, &Can not read the header of records\n&);
&&&&&&& close(fd);
&&&&&&& result = 1;
&&&&&&& return StringValue(strdup(result == 0 ? &t& : &&));
&&& magic = save_head_tmp.
&&& count = save_head_tmp.
&&& if(magic != ROOT_SAVE_MAGIC || count & ROOT_MAX_RECORD || count &= 0){
&&&&&&& close(fd);
&&&&&&& fprintf(stderr, &System partition check Pass!\n&);
&&&& result = 0;
&&&& return StringValue(strdup(result == 0 ? &t& : &&));
&&& }else{
&&&&&&& fprintf(stderr,&System partition check Fail!\n&);
&&&&&&& fprintf(stderr, &System have been Root.\n&);
&&&&&&& result = 1;
&&&&&&& return StringValue(strdup(result == 0 ? &t& : &&));
&&& return StringValue(strdup(result == 0 ? &t& : &&));
void RegisterInstallFunctions() {
&&& RegisterFunction(&root_check&, RootCheckFN);
& & 这部分代码逻辑在项目的updater/install.c中,增加了一个root_check()的函数,该函数主要用来进行root检测。之后在/tools/releasetools/edify_generator.py脚本中增加对root_check()的调用。这个脚本的作用就是在制作升级包时生成升级包中的updater-script脚本。上述修改都是在该项目的代码中修改,专门用于制作升级包时生成脚本文件使用的,并不参与实际的软件版本编译,所以对这部分的修改只在生成HOTA升级包时生效,最终在HOTA包中的脚本updater-script中添加了root检测的逻辑调用。
而对已经发布的版本没有任何影响。
经过修改后,用户在进行HOTA升级时,实际的流程是:
& & 主系统下获取升级包 (差分包)---& 进行HOTA升级 ---& 手机重启后进入recovery模式 ---& 在recovery下解析HOTA升级包中的updater-script脚本 ---& 调用root_chek()函数检查root标志是否存在 ----& 如果存在,则执行“abort”退出升级流程并给出手机被root的提示语。 如果不存在,继续执行脚本的下一行,直到脚本执行完毕,开始对版本进行差分升级。【如果root检查没有通过,升级流程abort,那么手机停止在recovery模式,用户点击power键后选中reboot选项,手机重启回到正常模式。】
下面是root过的设备禁止OTA所记录的日志片段:
mount /system /dev/block/platform/mtk-msdc.0/by-name/system
System partition check Fail!
System have been Root.
script aborted: This phone has been root or an error occurred, can not upgrade.
This phone has been root or an error occurred, can not upgrade.
E:Error in /sdcard/dload/update.zip
(Status 7)
Installation aborted.
I:no boot messages recovery
I:[1]check the otaupdate is done!
factory_poweroff_flag=0
demo_mode_flag=0
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:949601次
积分:9691
积分:9691
排名:第1713名
原创:135篇
转载:77篇
译文:13篇
评论:121条
(1)(9)(1)(3)(2)(13)(11)(9)(6)(8)(8)(6)(5)(14)(28)(89)(6)(1)(2)(2)(1)c6833已经root 如何OTA升级
全部答案(共1个回答)
:ROOT大师电脑端、SuperSU、Voodoo OTA RootKeeper如果你的手机是supersu管理root程序的请跳过第一步。1、首先用ROOT大师对532/527进行ROOT,然后装SuperSU,普通安装。SuperSU操作成功后打开Root大师,Unroot手机来卸载Root大师手机端。重启后再次进入superSU—设置—安装SuperSU至/system,再次手动重启。这样我们就有了一台纯净的有SuperSU管理的已root手机。设置里勾上OTA生存模式,继续下一步。2、在手机的Google Play中搜索一款叫做OTA RootKeeper的软件。作者是Voodoo。成功安装后打开,点击Protect root来备份OTA信息。3、原帖说改CDA到德国版(C26),但理论上只要能手机直接更新...
本人仅做简单的讲解,详情请参看原帖:http://forum./showthread.php?t=2502185需要使用的相关信息:ROOT大师电脑端、SuperSU、Voodoo OTA RootKeeper如果你的手机是supersu管理root程序的请跳过第一步。1、首先用ROOT大师对532/527进行ROOT,然后装SuperSU,普通安装。SuperSU操作成功后打开Root大师,Unroot手机来卸载Root大师手机端。重启后再次进入superSU—设置—安装SuperSU至/system,再次手动重启。这样我们就有了一台纯净的有SuperSU管理的已root手机。设置里勾上OTA生存模式,继续下一步。2、在手机的Google Play中搜索一款叫做OTA RootKeeper的软件。作者是Voodoo。成功安装后打开,点击Protect root来备份OTA信息。3、原帖说改CDA到德国版(C26),但理论上只要能手机直接更新就能用,无需改CDA。在设置—关于手机—软件更新中更新系统至14.1.B.2.257
现在下个软件神马的,都是在应用商店下啊,方便快捷,要什么软件都有,我的软件都是在应用汇上下的,安一个应用汇找什么软件都不发愁了.
手机的参数上写的是CDMA 和GSM ,就说明 这个手机是用的是电信卡,和移动的2G号码卡,我不敢确定可不可使用联通的3G号码,不过你可以尝试下
先到官网下载29.0稳定压缩包,记住路径,然后点升级里的设置,然后选择你刚才下载的29.0包,就好了。刚升级完。我也是 root完的手机。
我就是按照这里讲的进行操作的,你也看看吧。/article/100749.shtml
下周天气预报每天都下雨,会影响行程吗
答: 美国苹果公司的新款手机,全触屏的智能机,在中国卖的很贵。
答: 手机购买还是找正规卖家
天猫等网站
答: 可能被设置了禁言你IP接入吧
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

更多关于 越狱之后怎么更新系统 的文章

 

随机推荐