【问题标题】:Error "System UI isn't responding" while running AOSP build on emulator在模拟器上运行 AOSP 构建时出现错误“系统 UI 没有响应”
【发布时间】:2018-09-19 16:29:52
【问题描述】:

我正在尝试在模拟器上运行 AOSP(oreo 8.1)。

我使用以下命令构建 AOSP。

source build/envsetup.sh
lunch aosp_arm-eng
make -j4

我的构建成功了。现在我正在尝试使用以下命令在模拟器上运行。

emulator

模拟器启动并显示以下警告消息。

无法自动检测 ADB 二进制文件。在扩展设置页面中添加 ADB 的自定义路径之前,某些模拟器功能将无法使用。

成功启动后,模拟器上显示“System UI is notresponsive”消息,而且模拟器运行很慢。

非常感谢任何帮助解决此问题。

emulator screenshot: system ui isn't responding

emulator: WARNING: system partition size adjusted to match image file (2050 MB > 200 MB)
emulator: WARNING: encryption is off
main-loop: WARNING: I/O thread spun for 1000 iterations

【问题讨论】:

    标签: android-emulator android-source


    【解决方案1】:

    它经常发生 - 特别是在运行 CPU 消耗仿真的慢速机器上,仿真器最初会加载到 System UI isn't responding 警报显示的状态。这并不一定意味着设备不工作;通常情况下,警报可以被解除,并且设备将从那时起完全正常工作。

    我不确定这里要解决的确切问题是什么。 不过,假设您在 CI 上运行并且 - 除了模拟器的迟缓之外,还希望克服出现的 System UI isn't responding 警报启动完成(如标题所示)——我可以建议this bash script (gist)

    #!/bin/bash
    
    echo ""
    echo "[Waiting for launcher to start]"
    LAUNCHER_READY=
    while [[ -z ${LAUNCHER_READY} ]]; do
        UI_FOCUS=`adb shell dumpsys window windows 2>/dev/null | grep -i mCurrentFocus`
        echo "(DEBUG) Current focus: ${UI_FOCUS}"
    
        case $UI_FOCUS in
        *"Launcher"*)
            LAUNCHER_READY=true
        ;;
        "")
            echo "Waiting for window service..."
            sleep 3
        ;;
        *"Not Responding"*)
            echo "Detected an ANR! Dismissing..."
            adb shell input keyevent KEYCODE_DPAD_DOWN
            adb shell input keyevent KEYCODE_DPAD_DOWN
            adb shell input keyevent KEYCODE_ENTER
        ;;
        *)
            echo "Waiting for launcher..."
            sleep 3
        ;;
        esac
    done
    
    echo "Launcher is ready :-)"
    

    脚本等待启动器准备就绪并聚焦,并自动关闭系统响应警报。

    然而,它绝不会解决模拟器的迟钝问题。

    【讨论】:

      【解决方案2】:

      请参阅另一个问题中的this answer 以修复 ADB 错误。但是,这可能不会修复您的模拟器的响应能力。

      如果您正在为与主机不同的架构编译 aosp,则模拟器往往会运行得非常缓慢。如果您在 x86 机器上构建,则 x86 构建将产生一个速度显着加快的模拟器,而不会占用您机器的所有资源。

      【讨论】:

        【解决方案3】:

        这个答案可能对像我这样犯过错误的人有帮助,可以节省他的时间。

        我在我的物理设备上遇到了这个问题,因为我使用了一个非常大尺寸 (2100x2100) 的应用程序图标。我通过使用小尺寸(512x512)的应用程序图标解决了这个问题。

        【讨论】:

          猜你喜欢
          • 2021-05-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-25
          • 2017-08-23
          • 2018-07-22
          • 1970-01-01
          相关资源
          最近更新 更多