Копирование файлов через ADB: полная инструкция

Команда adb push зависает на середине передачи или выдаёт «permission denied» — типичная ситуация при первой попытке скопировать файл на Android через ADB, и почти всегда причина в неправильном пути назначения или отсутствии разрешений на запись. Чтобы передача прошла успешно, нужно понимать, как устроена работа протокола ADB, какие пути доступны для записи и как правильно сформировать команду.

ADB (Android Debug Bridge) — это официальный инструмент из состава Android SDK Platform Tools, который позволяет управлять устройством с компьютера через USB-кабель или по сети. В отличие от обычного подключения в режиме MTP, ADB даёт прямой доступ к файловой системе, не требует подтверждения на экране телефона и работает даже тогда, когда сенсорный экран сломан. В этой статье разберём команды adb push и adb pull, типичные ошибки и способы их устранения.

Что нужно подготовить перед копированием

Для работы потребуется три вещи: установленные Platform Tools на компьютере, включённая отладка по USB на смартфоне и исправный кабель. Пакет Platform Tools скачивается с официального сайта для разработчиков Android и не требует установки — достаточно распаковать архив в отдельную папку.

Отладка по USB включается в скрытом меню разработчика. Сначала необходимо открыть Настройки → О телефоне и несколько раз нажать на строку «Номер сборки», пока система не сообщит, что режим разработчика активирован. Затем в разделе Для разработчиков включается пункт «Отладка по USB». Точные названия пунктов могут отличаться в зависимости от оболочки (MIUI, One UI, ColorOS), поэтому при расхождениях стоит свериться с документацией производителя.

После подключения кабеля проверьте, видит ли компьютер устройство. В командной строке, открытой в папке с Platform Tools, выполните:

adb devices

Если в списке появился серийный номер со статусом device — всё готово. Статус unauthorized означает, что на экране смартфона нужно подтвердить запрос на разрешение отладки.

☑️ Подготовка к копированию через ADB

Выполнено: 0 / 5

Копирование файлов с компьютера на Android: adb push

Основная команда для отправки файлов на устройство — adb push. Её синтаксис прост: сначала указывается путь к файлу на компьютере, затем путь назначения на смартфоне.

adb push C:\files\photo.jpg /sdcard/DCIM/

Здесь файл photo.jpg из папки C:\files копируется в каталог /sdcard/DCIM/ на устройстве. Обратите внимание: путь /sdcard/ — это стандартное обозначение внутренней памяти, доступной пользователю, и именно сюда безопасно копировать файлы без root-прав. Попытка записать файл в системные разделы вроде /system/ или /data/ на устройстве без рута завершится ошибкой.

Чтобы скопировать целую папку, достаточно указать путь к каталогу без имени файла:

adb push C:\backup\music /sdcard/Music/
  • 📁 Копирование одного файла — укажите полный путь к файлу и целевую папку
  • 📂 Копирование папки — укажите путь к каталогу, всё содержимое перенесётся рекурсивно
  • Флаг -a — сохраняет дату изменения файлов при копировании
  • 🔄 Флаг --sync — переносит только изменённые файлы, удобно для регулярных бэкапов
📊 Для каких задач вы используете ADB чаще всего?
Перенос фото и видео
Установка APK-файлов
Резервное копирование данных
Восстановление после поломки экрана

Копирование файлов с Android на компьютер: adb pull

Обратная операция выполняется командой adb pull: первым аргументом идёт путь на устройстве, вторым — папка назначения на ПК.

adb pull /sdcard/DCIM/Camera C:\backup\photos

Эта команда скопирует всё содержимое папки камеры на компьютер. Такой способ особенно полезен, когда устройство не определяется как MTP-накопитель или когда нужно автоматизировать выгрузку файлов скриптом.

Если нужно забрать один конкретный файл, укажите его имя целиком:

adb pull /sdcard/Documents/report.pdf C:\Downloads\

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

Типичные ошибки и их решение

Большинство проблем при копировании через ADB сводится к нескольким повторяющимся ошибкам. Ниже — таблица с самыми частыми из них.

ОшибкаВероятная причинаРешение
permission deniedЗапись в системный раздел без rootКопируйте в /sdcard/ вместо системных путей
device not foundНе включена отладка или нет драйвераПроверьте adb devices, переустановите драйвер
unauthorizedНе подтверждён запрос на смартфонеРазрешите отладку на экране устройства
no such file or directoryОпечатка в пути или несуществующая папкаПроверьте путь командой adb shell ls
Read-only file systemРаздел смонтирован только для чтенияВыберите другой каталог, например /sdcard/

⚠️ Внимание: не пытайтесь перемонтировать системные разделы в режим записи без чёткого понимания последствий. На современных устройствах это может нарушить целостность прошивки и привести к невозможности загрузки. Для обычного обмена файлами каталога /sdcard/ достаточно.

Если команда не находит файл на устройстве, убедитесь в правильности пути с помощью adb shell ls /sdcard/ — она покажет содержимое каталога. Пробелы и кириллица в именах папок тоже могут вызывать сбои; такие пути лучше заключать в кавычки.

Как проверить содержимое папки на устройстве

Выполните adb shell, затем команду ls /sdcard/ — отобразится список каталогов. Для выхода из shell введите exit. Так можно убедиться, что целевая папка существует, до начала копирования.

Передача файлов по Wi-Fi без кабеля

ADB умеет работать не только по USB. На устройствах с актуальными версиями Android доступна беспроводная отладка, которая включается в том же меню разработчика. После активации устройство и компьютер соединяются по локальной сети, и команды push/pull работают так же, как по кабелю.

Порядок действий зависит от версии Android: на новых версиях используется сопряжение по коду из меню «Беспроводная отладка», на старых сначала требовалось подключение по USB и команда adb tcpip. Точную процедуру для вашей версии системы стоит уточнить в официальной документации, поскольку она менялась между релизами.

⚠️ Внимание: беспроводная отладка открывает сетевой доступ к устройству. Используйте её только в доверенной домашней сети и отключайте после завершения работы, чтобы исключить несанкционированное подключение.

Когда ADB незаменим, а когда проще обойтись без него

ADB оправдан в ситуациях, где стандартные способы не работают: разбит сенсор и невозможно подтвердить MTP-подключение, нужно забрать файлы из папки, скрытой от обычного проводника, требуется автоматизация через скрипты. Также ADB позволяет копировать данные даже с заблокированного экрана, если отладка была включена и авторизована заранее.

Для повседневного переноса пары фотографий проще использовать кабель в режиме MTP, облачные хранилища или локальные файлообменники. Взвешивайте задачу: настройка ADB занимает время и окупается при регулярном или сложном использовании.

  • 🛠️ Сломан экран — ADB часто единственный способ вытащить данные
  • 🤖 Автоматизация — команды легко встраиваются в bat- и shell-скрипты
  • 📦 Массовый перенос — копирование целых деревьев каталогов одной командой
  • 🔓 Без подтверждений — не требует нажатий на экране после первичной настройки

Часто задаваемые вопросы

Нужны ли root-права для копирования файлов через ADB?

Нет. Копирование в пользовательский раздел /sdcard/ и обратно работает на любом устройстве без root. Права суперпользователя требуются только для доступа к системным разделам и данным других приложений.

Почему adb push выдаёт permission denied?

Чаще всего вы пытаетесь записать файл в системный каталог, недоступный для записи без root. Смените путь назначения на /sdcard/ или одну из его подпапок. Также проверьте, что путь указан без опечаток.

Можно ли скопировать файлы, если экран смартфона разбит?

Да, если отладка по USB была включена заранее и компьютер уже авторизован. В этом случае команды adb pull выполнятся без каких-либо действий на экране. Если отладка не включалась, возможности сильно ограничены и зависят от конкретной модели.

Сохраняются ли даты файлов при копировании через ADB?

По умолчанию дата изменения может сброситься на момент копирования. Чтобы сохранить оригинальные метки времени, используйте флаг -a: adb push -a файл путь.

Где скачать ADB и нужно ли его устанавливать?

ADB входит в пакет Platform Tools, который распространяется на официальном сайте для разработчиков Android. Отдельная установка не требуется — достаточно распаковать архив и открыть командную строку в этой папке.