Android8.0 核心app或者service crash多次会进入factory reset

最近在搞android一个设备的开机问题,每次开机后没有半分钟就进入factory reset,开始我以为是shutdownthread这个service在搞鬼,于是我就把shutdownthead的的关机流程和重启流程都注释掉了,还是不正常。

由于只在user版本复现,于是log后来搞了很久才抓到,通过分析是由于一个系统核心app 一直挂掉,RescueParty检测到了,就进入到了factoryreset界面了。

代码文件:frameworks/base/services/core/java/com/android/server/RescueParty.java

关键代码:

private static void executeRescueLevelInternal(Context context, int level) throws Exception {

        switch (level) {

            case LEVEL_RESET_SETTINGS_UNTRUSTED_DEFAULTS:

                resetAllSettings(context, Settings.RESET_MODE_UNTRUSTED_DEFAULTS);

                break;

            case LEVEL_RESET_SETTINGS_UNTRUSTED_CHANGES:

                resetAllSettings(context, Settings.RESET_MODE_UNTRUSTED_CHANGES);

                break;

            case LEVEL_RESET_SETTINGS_TRUSTED_DEFAULTS:

                resetAllSettings(context, Settings.RESET_MODE_TRUSTED_DEFAULTS);

                break;

            case LEVEL_FACTORY_RESET:

                RecoverySystem.rebootPromptAndWipeUserData(context, TAG);

                break;

        }

    }

    原文作者:Persisting
    原文地址: https://www.jianshu.com/p/f8cb67ded56a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞