Ошибка «Системный интерфейс не отвечает» при запуске сборки AOSP на эмуляторе - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь запустить сборку AOSP (oreo 8.1) на эмуляторе.

Я использовал следующие команды для сборки AOSP.

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

моя сборка прошла успешно.Теперь я пытаюсь запустить эмулятор, используя следующую команду.

emulator

эмулятор запускается со следующим предупреждающим сообщением.

Не удалось автоматически обнаружить двоичный файл ADB.Некоторые функции эмулятора не будут работать, пока на странице расширенных настроек не будет добавлен пользовательский путь к ADB.

После успешной загрузки « Системный интерфейс не отвечает » отображается сообщениеэмулятор, также эмулятор работает очень медленно.

Любая помощь в решении этой проблемы очень ценится.

снимок экрана эмулятора: системный интерфейс не отвечает

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

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Часто - особенно на медленных машинах, использующих эмуляции, потребляющие ЦП, эмулятор изначально загружается в состояние, в котором отображается предупреждение System UI isn't responding.Это не обязательно означает, что устройство не работает;Достаточно часто предупреждение можно отклонить, и с этого момента устройство будет полностью работоспособным.

Я не уверен, что именно здесь нужно решить. Тем не менее, предполагая, что вывы работаете на CI и, помимо медлительности эмулятора, хотите преодолеть предупреждение System UI isn't responding, появляющееся после завершения загрузки (как указано в заголовке), - могу я предложить этот скрипт bash (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 :-)"

Скрипт ожидает, когда средство запуска будет готово и находится в фокусе, и автоматически отклоняет оповещения об отзывчивости системы, приходя на его пути.

0 голосов
/ 29 октября 2018

См. этот ответ из другого вопроса, чтобы исправить ошибку ADB.Однако, это, вероятно, не исправит отзывчивость вашего эмулятора.

Эмулятор работает очень медленно, если вы компилируете aosp для архитектуры, отличной от вашей хост-машины.Если вы работаете на компьютере с архитектурой x86, сборка с архитектурой x86 приведет к значительно более быстрому эмулятору, который не будет поглощать все ресурсы вашей машины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...