Как установить APK-файл на Android-устройство?

«Как установить APK-файл на Android-устройство?» — вопрос из категории Мобильное тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Установка APK (Android Package Kit) — файла с приложением — может выполняться несколькими способами.

Предварительное условие: Разрешение установки

На Android для установки извне Google Play необходимо разрешить установку из неизвестных источников.

  • Android 8 (Oreo) и новее: Разрешение дается приложению-установщику (например, файловому менеджеру или браузеру). Запрос появляется в процессе установки.
  • Старые версии: Глобальная настройка Настройки → Безопасность → Неизвестные источники.

Способы установки

1. Через файловый менеджер на устройстве

  • Скачайте APK в память устройства.
  • Найдите файл через проводник (Files, FX Explorer и т.д.).
  • Нажмите на него и следуйте инструкциям установщика.

2. С помощью ADB (Android Debug Bridge) — основной инструмент для тестировщиков и разработчиков

  • Требуется включенная отладка по USB и подключенное устройство.
  • Базовая команда установки:
    adb install path/to/your_app.apk
  • Полезные флаги:
    adb install -r app.apk      # -r: Переустановить (replace) с сохранением данных
    adb install -t app.apk      # -t: Разрешить установку тестовых APK
    adb install -d app.apk      # -d: Разрешить понижение версии (downgrade)
    adb install-multiple app1.apk app2.apk # Установка split APK

3. Через Android Studio

  • Для разработки и отладки: Run → Run 'app'.

4. Для тестировщиков: установка на несколько устройств

# Пример скрипта для установки на все подключенные устройства
for device in $(adb devices | grep 'device$' | awk '{print $1}'); do
    echo "Установка на $device"
    adb -s $device install -r app-under-test.apk
done

Важные замечания

  • Конфликт подписей: Если приложение уже установлено, новая версия должна быть подписана тем же ключом. Иначе потребуется удаление предыдущей версии.
  • Совместимость: APK должен поддерживать архитектуру процессора устройства (armeabi-v7a, arm64-v8a, x86). Универсальные сборки (Universal APK) содержат код для всех архитектур.