Как установить APK через ADB: adb install и установка из браузера
Как установить APK через adb install, поставить split APK, удалить приложение и исправить ошибки INSTALL_FAILED. Или установить APK из браузера в ADBKit.
Чтобы установить APK через ADB, подключите телефон с включённой отладкой по USB и выполните adb install app.apk в папке, где лежит файл. ADB передаст пакет на телефон и установит его, нажимать ничего не придётся. Если не хочется настраивать командную строку, APK можно поставить и из браузера на Chromium через панель Install APK в ADBKit.
Внимание: у APK те же права, что у любого установленного приложения. Ставьте только файлы из источников, которым доверяете (официальный сайт разработчика или ваши собственные сборки), и никогда со случайных сайтов со «скачать бесплатно».
Что понадобится
Три вещи: Android platform-tools на компьютере (в них есть команда adb), включённая отладка по USB на телефоне и USB-кабель. Если отладка ещё не включена, сначала пройдите как включить отладку по USB. Затем проверьте, что телефон виден:
adb devicesТелефон должен быть в статусе device. Если там unauthorized или offline, см. adb unauthorized и другие ошибки.
На Xiaomi, Redmi и POCO для установки через adb дополнительно включите «Установка через USB» в разделе «Для разработчиков», иначе установка завершится ошибкой. Подробности в статье про настройки безопасности Xiaomi.
Установка через adb install
Базовая команда принимает путь к файлу:
adb install app.apkЕсли файл в другой папке, укажите полный путь. Путь с пробелами берите в кавычки, а кириллицы в пути лучше избегать:
adb install "C:\Users\User\Downloads\app.apk"При успехе появится Performing Streamed Install, а затем Success. Полезные параметры:
| Параметр | Значение |
|---|---|
-r | Переустановить поверх существующего приложения с сохранением данных |
-d | Разрешить установку более старой версии (даунгрейд) |
-g | Выдать все разрешения из манифеста |
-t | Разрешить APK с пометкой test-only |
Например, обновить приложение и сразу выдать ему разрешения:
adb install -r -g app.apkЕсли подключено несколько устройств или эмуляторов, выберите нужное через -s:
adb -s <серийный_номер> install app.apkПриложения из нескольких APK (split APK)
Некоторые приложения распространяются несколькими файлами: базовый APK и split-файлы конфигурации. Ставьте их вместе командой adb install-multiple:
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.xxhdpi.apkВсе файлы должны относиться к одному приложению и одной версии.
Удаление приложения через ADB
Для удаления нужно имя пакета, а не имя файла. Найдите его:
adb shell pm list packages | grep exampleВ Windows вместо grep используйте findstr. Затем удалите приложение:
adb uninstall com.example.appС ключом -k приложение удалится, а папки с данными и кешем останутся.
Частые ошибки INSTALL_FAILED
Если установка не удалась, ADB выводит код вроде INSTALL_FAILED_ALREADY_EXISTS. Чаще всего встречаются эти:
| Ошибка | Причина | Решение |
|---|---|---|
INSTALL_FAILED_ALREADY_EXISTS | Приложение уже установлено | Добавьте -r |
INSTALL_FAILED_UPDATE_INCOMPATIBLE | Установленная копия подписана другим ключом | Сначала удалите приложение (данные сотрутся) или возьмите APK с подписью исходного разработчика |
INSTALL_FAILED_VERSION_DOWNGRADE | APK старше установленной версии | Добавьте -d или сначала удалите приложение. Для не-debuggable приложений даунгрейд могут запретить |
INSTALL_FAILED_INSUFFICIENT_STORAGE | Мало свободного места | Освободите память и повторите |
INSTALL_FAILED_TEST_ONLY | APK помечен как test-only | Добавьте -t |
Больше всего удивляет несовпадение подписи. Android не даёт обновить приложение пакетом, подписанным другим ключом, и это намеренная защита от подменённых обновлений. Полный разбор кодов: ошибки adb install INSTALL_FAILED.
«Неизвестные источники» и Play Защита
При установке через ADB разрешение «Установка неизвестных приложений», которое касается приложений и браузеров, не используется: установка идёт по доверенному каналу отладки. Но некоторые телефоны всё равно показывают на экране запрос подтверждения, а Google Play Защита может проверить APK или предупредить о нём. У производителей тут всё по-разному, поэтому если установка «зависла», посмотрите на экран телефона.
Установка APK из браузера в ADBKit
Если нужно только поставить файл, platform-tools можно не скачивать. ADBKit представляет собой бесплатное рабочее пространство в браузере, которое общается с телефоном через WebUSB, без установки и без аккаунта.
- Откройте ADBKit в настольном браузере на Chromium, например Chrome или Edge. Firefox и Safari не поддерживают WebUSB.
- Включите на телефоне «Для разработчиков» и «Отладку по USB», подключите кабель и нажмите Connect device.
- Выберите телефон в окне USB браузера и нажмите «Разрешить» на телефоне.
- Откройте панель Install APK и выберите файл
.apk. - Если вы обновляете приложение, отметьте замену существующей установки. ADBKit попросит подтвердить, прежде чем что-то заменить.
APK идёт только между браузером и телефоном, сервера, который бы его принимал, у ADBKit нет. USB-подключение может держать только одна программа, поэтому если подключиться не удаётся, закройте Android Studio, scrcpy и другие вкладки ADBKit или выполните adb kill-server. Полный список команд в шпаргалке по командам adb.