Установка APK через ADB: кратко и по делу
Чтобы установить APK через ADB: включите отладку по USB, подключите устройство, положите APK рядом с platform-tools и выполните adb install путь_к_apk.apk — при ошибках смотрите список решений ниже.
Подготовка: установка ADB и включение отладки
- Скачайте и распакуйте Android SDK Platform-Tools в папку (напр., C:\adb или ~/platform-tools).
- Добавьте папку в PATH или запускайте команды из неё.
- На телефоне: Настройки → О телефоне → 7 раз тап по "Номер сборки" → Настройки разработчика → включите "Отладка по USB".
- Подключите USB и в уведомлении выберите "Передача файлов (MTP)". В терминале выполните:
adb version
adb devices
Устройство должно быть в списке как device. Если status = unauthorized — подтвердите диалог на экране.
Если ADB не видит устройство, включите MTP, попробуйте другой кабель/порт и установите драйверы для Windows. На Linux проверьте udev‑правила.
Пошаговая установка APK и полезные флаги
- Скопируйте APK в папку platform-tools или используйте полный путь.
- Базовая команда:
adb install path/to/app.apk
- Если нужно предоставить все разрешения при установке (полезно на Android 6+):
adb install -g path/to/app.apk
- Для обновления уже установленного приложения с сохранением данных:
adb install -r path/to/app.apk
- Установка набора APK (split/APK‑bundles):
adb install-multiple base.apk config.xxx.apk
- Беспроводно: сначала подключитесь по TCP (устройство и ПК в одной сети):
adb tcpip 5555
adb connect DEVICE_IP:5555
adb install app.apk
Типичные ошибки и их быстрые решения
Таблица: распространённые INSTALL_FAILED_* и действия
| Ошибка | Причина | Быстрое решение |
|---|---|---|
| INSTALL_FAILED_ALREADY_EXISTS | Пакет уже есть, но подписи/данные несовместимы | adb uninstall com.example.app && adb install app.apk или adb install -r если совместима |
| INSTALL_FAILED_INSUFFICIENT_STORAGE | Нет места | Удалите данные/кеш, перенесите файлы, проверьте df |
| INSTALL_PARSE_FAILED_NO_CERTIFICATES | Неподписанный/повреждённый APK | Пересоберите/переподпишите APK |
| INSTALL_FAILED_VERSION_DOWNGRADE | Установка более старой версии поверх новой | adb uninstall пакет && adb install старый.apk |
| INSTALL_FAILED_USER_RESTRICTED | Ограничение политики/профиля | Проверьте рабочие профили и политики устройства |
На Android 13+ и некоторых производителях подпись и политики установок жестче; используйте флаг -g, проверяйте profile-owner и наличие корпоративных ограничений.
Дополнительные команды для диагностики:
- Посмотреть логи установщика:
adb logcat | grep PackageInstaller
- Узнать имя пакета:
adb shell pm list packages | grep part_of_name
- Удалить пакет:
adb uninstall com.example.app
Частые ошибки
- Не включена отладка по USB — устройство появится как unauthorized.
- Кабель только для зарядки — ПК не увидит устройство.
- Конфликт версий/подписей при попытке установить старую сборку.
- Политики MDM/корпоративный профиль блокируют установку из ADB.
- Нехватка места в /data — очищайте кеш, переносите медиа.
FAQ
- Нужно ли рутовать устройство для adb install?
- Нет. adb install работает без root при включённой отладке по USB.
- Можно ли установить APK на Android 11+ по сети?
- Да: включите беспроводную отладку (или используйте adb tcpip + adb connect).
- Что делать, если adb devices показывает offline?
- Переподключите кабель, перезапустите adbd: adb kill-server && adb start-server, подтвердите диалог на телефоне.
- Как установить APK с сохранением данных при смене подписи?
- Нельзя — подпись должна совпадать. Если подписи разные, предварительно сделайте backup данных и выполните uninstall.
Заключение: следуйте шагам подготовки, используйте флаги -r и -g по обстоятельствам, диагностируйте через adb logcat и таблицу ошибок. Если проблема сохраняется — укажите модель устройства и полные сообщения adb logcat/adb install, чтобы получить точную подсказку.