Android 仅启动到安全模式 (Nougat)

Android boots only to safe mode (Nougat)

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

显示SAFE MODE的Log信息 01-01 00:05:40.481:I/WindowManager(592):启用安全模式(菜单=0 s=0 dpad=-1 轨迹球=-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挂起的具体原因?

终于解决了安全模式问题,启用是因为android感应到音量降低状态为高,这个状态是确定是否设置安全模式的条件之一,虽然没有音量按钮董事会以某种方式将代码读取为高。无论如何,系统挂在锁屏界面并不断重启。

源代码

WindowMangerService.java

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

刚刚删除了音量降低条件。

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

系统挂起解决方法:

解决了系统挂起问题,问题与SDHCI控制器有关,必须在内核中进行一些更改。只需按照 link

中的说明进行操作

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

现在可以在 jetson-tk1 中使用 android 牛轧糖了。 :)