Команда adb push перестаёт работать чаще всего не из-за самой команды, а из-за того, что устройство не авторизовано: в выводе adb devices смартфон отображается со статусом unauthorized или не отображается вовсе. Прежде чем отправлять файл, стоит убедиться, что на телефоне включена отладка по USB и подтверждён запрос на разрешение подключения. Без этих двух условий передача невозможна независимо от правильности синтаксиса.
В этой статье разберём полный порядок действий: от установки Android SDK Platform-Tools и включения режима разработчика до отправки файлов командой adb push, передачи по Wi-Fi и исправления типичных ошибок. Инструкция подходит для Windows, macOS и Linux — синтаксис команды одинаков, различается только способ установки утилиты.
Что нужно подготовить перед отправкой файла
Для работы ADB (Android Debug Bridge) требуется три компонента: установленная утилита на компьютере, включённая отладка по USB на смартфоне и подтверждённое разрешение на подключение. Пропуск любого из этих шагов приводит к тому, что устройство не определяется.
- 📦 Скачайте Platform-Tools с официального сайта Android Developers и распакуйте архив в удобную папку, например
C:\platform-tools. - 🔌 Используйте кабель, поддерживающий передачу данных — «зарядные» кабели без data-линий не позволят установить соединение.
- 📱 На смартфоне откройте настройки и найдите пункт об отладке по USB (подробности — в следующем разделе).
- 🔑 При первом подключении на экране телефона появится запрос «Разрешить отладку по USB?» — подтвердите его, желательно с галочкой «Всегда разрешать с этого компьютера».
⚠️ Внимание: путь к папке с Platform-Tools не должен содержать кириллицу и пробелы — на некоторых конфигурациях Windows это вызывает сбои при запуске adb.exe из командной строки.
Включение отладки по USB на Android
Режим разработчика по умолчанию скрыт. Чтобы его активировать, откройте Настройки → О телефоне и семь раз подряд нажмите на пункт «Номер сборки». Система запросит PIN-код или графический ключ, после чего раздел «Для разработчиков» появится в настройках — обычно в разделе «Система» или «Расширенные настройки».
Точное расположение пунктов меню зависит от оболочки: у Samsung, Xiaomi (MIUI/HyperOS) и «чистого» Android пути отличаются. Если нужный пункт не находится, воспользуйтесь поиском по настройкам со словом «отладка». Внутри меню разработчика включите переключатель «Отладка по USB».
Команда adb push: синтаксис и примеры
Отправка файла выполняется одной командой. Общий синтаксис:
adb push <путь к файлу на ПК> <путь на устройстве>
Пример: отправка архива в папку загрузок смартфона:
adb push C:\files\archive.zip /sdcard/Download/
Обратите внимание на разницу в путях: на компьютере используются обратные слэши и буква диска, на Android — прямые слэши в стиле Linux. Путь /sdcard/ — это общепринятый псевдоним внутреннего хранилища, доступный на подавляющем большинстве устройств. Если путь к файлу на ПК содержит пробелы, заключите его в кавычки.
☑️ Проверка перед отправкой файла
Для отправки целой папки укажите путь к ней без имени конкретного файла — adb push скопирует каталог рекурсивно вместе со всем содержимым. Прогресс и итоговая скорость передачи выводятся в консоль по завершении операции.
Куда можно и нельзя отправлять файлы
Не все разделы файловой системы Android доступны для записи без root-прав. Обычному ADB-подключению открыты пользовательские каталоги, тогда как системные разделы защищены.
| Путь на устройстве | Доступ без root | Назначение |
|---|---|---|
| /sdcard/Download/ | Да | Стандартная папка загрузок |
| /sdcard/Documents/ | Да | Документы пользователя |
| /sdcard/DCIM/ | Да | Фото и видео |
| /data/local/tmp/ | Частично | Временные файлы, часто используется при установке |
| /system/ и /vendor/ | Нет | Системные разделы, требуют root и перемонтирования |
Попытка отправить файл в системный раздел завершится ошибкой Permission denied или Read-only file system. Это нормальное поведение, а не неисправность: запись туда без разблокировки загрузчика и root-доступа невозможна, а такие действия лишают гарантии и несут риск повреждения системы.
Отправка файлов по Wi-Fi без кабеля
Начиная с Android 11, доступна беспроводная отладка: в меню разработчика включите «Беспроводная отладка» и выполните сопряжение по коду через команду adb pair. На более старых версиях требуется первичное подключение по кабелю, после чего выполняется перевод в сетевой режим:
adb tcpip 5555
adb connect 192.168.1.50:5555
IP-адрес смартфона смотрите в настройках Wi-Fi. Оба устройства должны находиться в одной сети. После подключения adb push работает так же, как по кабелю, но скорость передачи зависит от качества Wi-Fi-сигнала и обычно ниже, чем по USB.
⚠️ Внимание: беспроводная отладка в открытых публичных сетях небезопасна — порт ADB теоретически доступен другим участникам сети. Используйте её только в домашней сети с надёжным паролем и отключайте функцию после завершения работы.
Типичные ошибки и их решение
Большинство проблем сводится к нескольким повторяющимся сценариям. Разберём каждый.
- 🚫 device unauthorized — на телефоне не подтверждён запрос на отладку. Отключите и заново подключите кабель, проверьте экран смартфона.
- 🚫 no devices found — на Windows проверьте установку драйвера ADB в диспетчере устройств; также попробуйте другой USB-порт и кабель.
- 🚫 Permission denied — целевая папка недоступна для записи; используйте
/sdcard/или её подкаталоги. - 🚫 adb: error: failed to copy — проверьте, что путь к исходному файлу на ПК указан верно и файл не занят другой программой.
Если ничего не помогает, сбросьте авторизацию: в меню разработчика выберите «Отменить авторизацию отладки по USB», перезапустите ADB командами adb kill-server и adb start-server, затем подключите устройство заново и подтвердите запрос.
Как проверить версию ADB и список подключённых устройств
Выполните команду adb version — она покажет установленную версию утилиты. Команда adb devices выводит список подключённых устройств с их статусом: device (готово к работе), unauthorized (нужно подтверждение на телефоне) или offline (сбой соединения, помогает переподключение кабеля).
Получение файлов с устройства: adb pull
Обратная операция выполняется командой adb pull с зеркальным синтаксисом — сначала путь на устройстве, затем папка назначения на компьютере:
adb pull /sdcard/DCIM/photo.jpg C:\backup\
Это удобный способ выгрузить большие объёмы фото или логов без установки сторонних файловых менеджеров. Ограничения по доступу те же: системные разделы без root недоступны и для чтения.
Часто задаваемые вопросы
Можно ли отправить файл через ADB без включения отладки по USB?
Нет. Отладка по USB — обязательное условие работы ADB. Без неё компьютер не сможет установить соединение с устройством. Альтернативой служат обычное MTP-подключение, облачные хранилища или передача по локальной сети.
Работает ли adb push без root-прав?
Да, для пользовательских разделов вроде /sdcard/ root не требуется. Права суперпользователя нужны только для записи в системные каталоги, что в обычных сценариях передачи файлов не используется.
Почему скорость передачи через ADB низкая?
На скорость влияют версия USB-порта, качество кабеля и режим подключения. По Wi-Fi передача обычно медленнее, чем по кабелю. Попробуйте порт USB 3.0 и другой кабель, а также убедитесь, что во время передачи телефон не уходит в сон.
Как отправить файл, если в имени есть пробелы или кириллица?
Путь на компьютере заключите в кавычки: adb push "C:\Мои файлы\документ.pdf" /sdcard/Documents/. Для путей на устройстве кириллицу лучше избегать — часть прошивок обрабатывает её некорректно.
Безопасно ли использовать ADB на личном смартфоне?
Сама по себе команда adb push лишь копирует файлы и не меняет систему. Риск представляют команды удаления и модификации разделов. После завершения работы отладку по USB разумно отключить, особенно если устройством пользуются другие люди.