MasterClear:Can‘t perform master clear/factory reset:IOException:Reboot failed (no permissions?)

  • 问题
    设备无法恢复出厂设置
09-02 16:52:15.024   620   620 D MasterClear: FactoryRecoveryMode = 1
09-02 16:52:15.026   620   620 W MasterClear: !!! FACTORY RESET !!!
09-02 16:52:15.030   620   620 I MasterClear: NOT wiping external storage; starting thread Reboot
09-02 16:52:15.032   620  3532 I MasterClear: Calling RecoverySystem.rebootWipeUserData(context, shutdown=false, reason=MasterClearConfirm, forceWipe=false, wipeEsims=false)
09-02 16:52:15.032   620   620 D BroadcastQueue: Finished with ordered broadcast BroadcastRecord{aa67b6a u0 android.intent.action.FACTORY_RESET} receivers:([ResolveInfo{68e27d3 android/com.android.server.MasterClearReceiver p=100 m=0x108000}]) take 34ms in [foreground], remains -1
09-02 16:52:19.278   620  3452 E MasterClear: Can't perform master clear/factory reset
09-02 16:52:19.278   620  3452 E MasterClear: java.io.IOException: Reboot failed (no permissions?)
09-02 16:52:19.278   620  3452 E MasterClear:   at android.os.RecoverySystem.bootCommand(RecoverySystem.java:1312)
09-02 16:52:19.278   620  3452 E MasterClear:   at android.os.RecoverySystem.rebootWipeUserData(RecoverySystem.java:1010)
09-02 16:52:19.278   620  3452 E MasterClear:   at com.android.server.MasterClearReceiver$1.run(MasterClearReceiver.java:123)
  • 调试分析

    参看 Android 13 aosp 恢复出厂设置流程
    在frameworks/base/core/java/android/os/RecoverySystem中的bootCommand()抛出IOException(“Reboot failed (no permissions?)”)

    初始版本未配置好默认系统的Selinux

  • 解决

    关闭默认Selinux策略

    adb shell
    su
    echo 0 > /sys/fs/selinux/enforce

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值