Отладка по USB на Xiaomi: настройки безопасности и установка
Как решить проблемы ADB на Xiaomi, Redmi и POCO: включить «Отладка по USB (Настройки безопасности)» и «Установка через USB», исправить INSTALL_FAILED_USER_RESTRICTED.
На телефонах Xiaomi, Redmi и POCO с MIUI или HyperOS кроме обычной «Отладки по USB» есть ещё два переключателя. Без них ADB подключается, но часть функций не работает: приложения не устанавливаются, а нажатия и ввод текста с компьютера ни к чему не приводят. В этой статье показано, где эти переключатели и что значит каждая ошибка.
Шаг 1. Включите раздел «Для разработчиков»
- Откройте «Настройки» › «О телефоне».
- Нажмите семь раз на «Версия ОС» (HyperOS) или «Версия MIUI», пока не увидите «Вы стали разработчиком».
- Перейдите в «Настройки» › «Расширенные настройки» › «Для разработчиков».
Шаг 2. Три переключателя
| Переключатель | Что разрешает | Для чего нужен |
|---|---|---|
| «Отладка по USB» | Базовый ADB: shell, logcat, передача файлов | Для всего |
| «Установка через USB» | adb install и установка APK с компьютера | Установка приложений |
| «Отладка по USB (Настройки безопасности)» | Отправка нажатий, свайпов и клавиш, выдача разрешений | Управление экраном, автоматизация, ввод текста |
Последние два требуют войти в Mi аккаунт, а на многих моделях при включении в телефоне должна стоять SIM-карта. Это правило Xiaomi, а не требование ADB. После включения они обычно остаются включёнными.
Ошибка INSTALL_FAILED_USER_RESTRICTED
adb: failed to install app.apk: Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]Две причины:
- Выключена «Установка через USB». Включите её, как описано выше.
- Вы не подтвердили установку на телефоне. Когда «Установка через USB» включена, телефон для каждого APK показывает окно установки с обратным отсчётом. Разблокируйте телефон и нажмите «Установить», пока время не вышло.
Ошибка: нажатия и ввод не работают
Если включена только «Отладка по USB», экран можно транслировать, но ввод с компьютера отклоняется. Программы могут показать ошибку вроде:
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permissionВключите «Отладка по USB (Настройки безопасности)», затем отключите и снова подключите телефон. Это касается scrcpy, ADBKit, Appium и всего остального, что отправляет ввод.
Ошибка: переключатель серый или просит SIM-карту
- Вставьте SIM-карту, дождитесь сигнала сети и попробуйте снова.
- Войдите в Mi аккаунт в «Настройки» › «Mi аккаунт».
- Включите мобильный интернет или Wi-Fi, чтобы проверка аккаунта прошла.
Ошибка: телефон вообще не определяется
Это не настройка Xiaomi. Проверьте кабель, режим USB и драйверы по статье adb не видит телефон. На Windows установите USB-драйвер Xiaomi или Google USB Driver.
Xiaomi и ADBKit
- Включите все три переключателя.
- Откройте ADBKit в Chrome или Edge и подключитесь по USB или по Wi-Fi через агент ADBKit.
- Разблокируйте телефон и нажмите «Разрешить» в окне «Разрешить отладку по USB?».
Подсказки ADBKit по подключению для телефонов Xiaomi упоминают «Отладка по USB (Настройки безопасности)», потому что без неё живой экран отображается, но не реагирует на клики и ввод. Установка APK из ADBKit вызывает на телефоне то же подтверждение, что и adb install, поэтому держите телефон разблокированным.
Выключите, когда закончите
Настройки безопасности позволяют компьютеру управлять телефоном. Когда закончите тестирование, снова выключите «Отладка по USB (Настройки безопасности)» и «Установка через USB» или полностью отключите раздел «Для разработчиков».
Другие ошибки установки разобраны в статье ошибки adb install. Про экран загрузчика читайте режим fastboot на Xiaomi.