首页 > 解决方案 > Android 仅引导至安全模式(牛轧糖)

问题描述

为 Jetson TK1 构建了 android(7.1.2),android 启动到安全模式并显示锁定屏幕(有时只出现左角安全模式的黑屏),输入设备(鼠标和键盘)不工作。它还不断自行重启。已阅读有关牛轧糖中严格执行的验证启动的信息,但不知道如何调试安全模式的原因。

日志信息显示 SAFE MODE 01-01 00:05:40.481: I/WindowManager(592): SAFE MODE ENABLED (menu=0 s=0 dpad=-1 trackball=-1)

它来自 WindowManager,我尝试阅读 frameworks 目录中的源代码,但不太了解它是如何工作的。

应该如何找出安全模式的原因,是由于内核或 android 部分(Sepolicy 等)中的安全问题?日志中有几个错误,我应该纠正所有错误,它是否解决了安全启动问题?

日志序列日志: https ://pastebin.com/LxgUsegh

Here is serial log for it

LOGCAT: https ://pastebin.com/rJP4Z2nD

Here is the LOGCAT for the same

在删除了几个与电话相关的软件包后,Android 始终启动到带壁纸的锁屏(没有黑屏),有趣的是,鼠标可以工作,但在几秒钟内系统就会挂起。现在只有我意识到它在锁定屏幕中启动并挂起,然后继续重新启动,仍然只是在安全模式下。

android什么时候冻结?Android 挂起的具体原因?

标签: androidandroid-source

解决方案


终于解决了安全模式问题,它被启用,因为android已经感觉到音量降低状态为高,这个状态是确定是否设置了安全模式的条件之一,虽然板上没有音量按钮,但代码以某种方式读取它为高. 无论如何,系统挂在锁屏中并不断重新启动。

源代码

WindowMangerService.java

mSafeMode = menuState > 0 || sState > 0 || dpadState > 0 || trackballState > 0 || volumeDownState > 0;

刚刚删除了音量降低的情况。

关于为什么android每次启动时都会冻结在锁屏中的任何想法?

系统挂起解决方案:

解决了系统挂起,问题与 SDHCI 控制器有关,必须在内核中进行一些更改。只需按照此链接中的说明进行操作

https://devtalk.nvidia.com/default/topic/954715/jetson-tk1/mmc2-timeout-waiting-for-hardware-interrupt-solved-with-issues-/

现在在 jetson-tk1 中有一个工作的 android Nougat。:)


推荐阅读