Копировать файлы через adb

Обновлено: 21.11.2024

Как передать файл с компьютера на устройство Android, в котором нет SD-карты. Я пробовал:

Вышеупомянутые команды для перемещения файла anand.jpg на устройство, но я не получил этот файл jpg на устройстве. Я не получил никакого результата в командной строке cmd, я получил только:

Попробуйте adb shell "cd /data/local && mkdir tmp", затем adb push anand.jpg /data/local/tmp . Как вы проверяете файл на устройстве с помощью оболочки adb?

@RC Я использую команду ls для проверки файлов. я получил это, по крайней мере, в представлении DDMS на эмуляторе. но все же я не получил его на устройстве. когда я пытаюсь выполнить команду «adb push», она показывает, что устройство не найдено для реального устройства. но устройства adb показывают устройство.

Я бы остановил эмулятор, отключил устройство, затем, убедившись, что устройство находится в режиме отладки, подключил устройство и повторил попытку

Этот вопрос кажется не по теме, потому что он не о программировании. См. раздел Какие темы я могу задать здесь в Справочном центре. Возможно, лучше задать вопрос на Stack Exchange энтузиастов Android.

Предложение RC сработало для меня в этом варианте: adb shell "cd /sdcard && mkdir temp", затем abd push x.apk /sdcard/temp" В итоге мой файл оказался в папке temp на моей SD-карте, и я смог прошить оттуда.

15 ответов 15

Из терминала Ubuntu ниже работает для меня.

просто удалите './' и используйте простой adb или adb.exe. Убедитесь, что вы находитесь в папке platform-tools, если вы не указали путь для Android.

@HardikTrivedi: Вы говорите, что рутирование необходимо для использования adb push в целом или для этого конкретного места назначения файла? Я использую adb push для записи файла на SD-карту устройства Android на устройстве без рута.

Я сделал это с помощью этой команды:

синтаксис: adb push filename.extension /sdcard/0/

пример: adb push UPDATE-SuperSU-v2.01.zip /sdcard/0/

только что переместил mp3-файл с Mac OSX на устройство Android 5.0, и мне пришлось написать имя файла, который будет на устройстве, например, «adb push /file.mp3 /sdcard/fileOrOtherFileName.mp3»

Выполните следующие действия:

перейдите к Android Sdk, а затем перейдите к пути «platform-tools» в терминале или консоли

(на Mac путь по умолчанию: /Users/ИМЯ ПОЛЬЗОВАТЕЛЯ/Library/Android/sdk/platform-tools)

Чтобы проверить карты SDCard (внешние и внутренние), установленные на вашем устройстве, выполните следующие команды:

  • 1) ./adb shell (нажмите return/enter)
  • 2) cd -(нажмите клавишу возврата/ввода)

теперь вы увидите список каталогов и файлов с вашего устройства Android, там вы можете найти /sdcard, а также /storage

  • 3) cd /storage (нажмите return/enter)
  • 4) ls (нажмите клавишу возврата/ввода)

вы можете увидеть sdcard0 (обычно sdcard0 — это внутреннее хранилище) и sdcard1 (если присутствует внешняя SDCard)

ADB push и ADB pull — это надежные методы передачи файлов для настройки Android, даже если существуют более простые способы передачи файлов между устройством Android и ПК.

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

На этой неделе мы продолжим с того места, на котором остановились, при условии, что на вашем устройстве есть запись экрана, которую вы хотите перенести на подключенный компьютер.

Прежде чем мы начнем

Еще раз повторим, что сегодня вам не нужно предъявлять никаких требований к приложениям, но на вашем компьютере должны быть установлены и запущены Android SDK и ADB. Оттуда вам нужно будет подключить устройство Android к компьютеру с помощью соответствующего USB-кабеля.

Обязательно ознакомьтесь с нашими предыдущими публикациями в ADB, чтобы узнать, как все настроить и запустить.

Существует множество способов передачи файлов между устройством Android и ПК, многие из которых не требуют проводов. На самом деле существует так много отличных способов передачи файлов, что использование ADB может даже не подойти вам. Однако, когда ничего не помогает, или вы только что сделали запись экрана и все равно все подключены, передача файлов ADB здесь для вас.

Использование интерфейса командной строки обычно предназначено для более авантюрных пользователей компьютеров, но это не означает, что его сложно использовать. На самом деле, если у вас есть базовое понимание, командная строка становится довольно простой. Все это остается верным и для ADB для Android. Приступим.

Подключите устройство Android к компьютеру, запустите ADB в командной строке или в окне терминала, затем введите adb devices и нажмите Enter.

Напоминаем, что на прошлой неделе мы записали запись экрана и сохранили ее на нашем устройстве в папке /sdcard/video.mp4. Давайте перенесем этот файл на наш компьютер.

Извлечь файл с устройства Android

Формат запроса на вытягивание прост: вы начинаете с команды adb pull , затем добавляете файл, который вы извлекаете, и место, куда вы хотите его отправить. Я пока выгружу свой на рабочий стол, который будет выглядеть следующим образом на компьютере с Windows.

adb pull /sdcard/video.mp4 C:\Users\Jonathan\Desktop

Вы можете не указывать локальное место для сохранения, чтобы оно выглядело как adb pull /sdcard/video.mp4 , что позволит сохранить файл в том же месте, что и ваш adb.exe .

Нажмите Enter , теперь ваш файл должен быть передан на ваш компьютер. Теперь давайте загрузим файл.

Отправить файл на устройство Android

Я буду делать шаги здесь довольно простыми, если вам было удобно с шагами тянуть, толкать не составляет труда.

Формат начинается с команды adb push , затем добавляется локальное расположение файла и расположение на устройстве, на которое вы хотите сохранить. Для простоты давайте просто вернем этот видеофайл на устройство.

adb push C:\Users\Jonathan\Desktop\video.mp4 /sdcard/

Конечно, нажмите Enter и смотрите, как летают ваши файлы.

И вот, файлы успешно переданы между вашим устройством Android и ПК.

Что дальше

Помните, что приведенные выше примеры — это всего лишь примеры. Пожалуйста, настройте команды в соответствии с вашими потребностями в местоположении файла. Я признаю, что может быть обременительно вводить начальную и конечную точки полного местоположения файла для каждой отдельной передачи файла, но это пуленепробиваемый инструмент, если он вам когда-нибудь понадобится.

Сегодня я буду очень краток: очень мало что можно сделать с помощью отправки или извлечения файла на устройство Android. Обязательно посетите страницу разработчика Android Debug Bridge, чтобы увидеть полный список доступных команд и настроек.

На следующей неделе

Давайте сделаем еще одну часть ADB из серии настроек Android, прежде чем мы немного отвлечемся. На следующей неделе мы покажем вам, как использовать ADB для установки приложений на ваше устройство. Мы редко даем вам ссылки на файл Android .apk, и достаточно легко перенести этот файл на ваше устройство и просто открыть его, чтобы установить приложение, но ADB может сделать это прямо с вашего компьютера, если вы заинтересованы .

Что вы скажете, я знаю, что вы нашли более простые и лучшие инструменты и методы передачи файлов, но пригодятся ли вам когда-нибудь ADB Push или ADB Pull?

Для передачи файлов с устройств Android и на них достаточно просто подключить USB-кабель и включить режим MTP/передачи файлов. Но что, если эта опция недоступна в данной ситуации?

Именно здесь вступают в действие команды ADB Pull и ADB Push. В этом руководстве мы покажем вам, как передавать файлы между ПК и устройствами Android с помощью команд ADB Push/Pull.

ADB (Android Debug Bridge) – это универсальный инструмент, входящий в пакет инструментов платформы Android SDK, который часто используется разработчиками Android или энтузиастами, желающими поработать с программным обеспечением. Но он также предлагает функции, которые могут пригодиться и обычному пользователю. Команды Pull и Push в ADB являются одними из них и могут использоваться для копирования файлов с вашего ПК на устройство Android (или наоборот) с помощью простой команды.

Использование команд ADB Push & Pull

Итак, когда вам нужно использовать команды ADB Push и ADB pull для передачи файлов на устройство Android и с него?Есть довольно много ситуаций, когда ADB Pull/Push может упростить вам задачу и даже вывести вас из сложных ситуаций. Мы обсудили некоторые из этих ситуаций ниже.

<р>1. Для обычного пользователя

Если ваш компьютер не может распознать телефон Android даже после включения режима MTP/передачи файлов. Да, это, безусловно, может означать, что у вас не установлены соответствующие драйверы USB. Но что, если они у вас установлены, а ваш компьютер по-прежнему не обнаруживает телефон. Скорее всего, ваш компьютер все еще может распознать ваш телефон через ADB, и если это так, вы можете использовать команды для передачи файлов. Примечание. Это не окончательное решение, вам все равно потребуется устранить неполадки на компьютере и решить проблему.

По сути, использование команд ADB Push and Pull — это не то, что может понадобиться обычному пользователю Android. Но имеет смысл ознакомиться с этими командами на всякий случай, если они вам понадобятся.

<р>2. Для энтузиастов Android (также известных как флешоголики)

Допустим, вы занимаетесь перепрошивкой пользовательского ПЗУ, для чего требуется стереть ОС в TWRP, иногда даже раздел данных/внутреннюю память. Вы бы поняли, что ZIP-архив пользовательского ПЗУ, который вы передали, был стерт (не волнуйтесь, это случается с лучшими из нас). В таком случае вы можете просто подключить свое Android-устройство к ПК и использовать команду ADB Push для копирования файлов с ПК на устройство.

Иногда TWRP не может даже расшифровать раздел данных, что означает, что вы не можете получить доступ к внутренней памяти телефона для прошивки ZIP-файлов. Это довольно часто встречается на новых устройствах Android с последней версией Android (например, на Pixel 3 XL с Android 10). TWRP для вашего конкретного устройства все еще может находиться в разработке. Но это также не должно мешать вам прошивать файлы. Таким образом, вы можете использовать команду ADB Push для переноса zip-файлов во временный каталог (/tmp/*) и прошивать их прямо оттуда.

Другая ситуация возникает, когда вы устанавливаете Magisk на свое устройство, когда вы исправляете стандартный загрузочный образ с помощью Magisk. Теперь, прежде чем вы сможете прошить исправленный загрузочный образ на свое устройство, вы должны сначала перенести его из хранилища вашего устройства на ПК. В этом случае команда ADB Pull может быть особенно полезной. Вы можете использовать эту команду, чтобы загрузить исправленный загрузочный образ с устройства на ПК.

<р>3. Для разработчиков Android-приложений и ПЗУ

Разработчики часто проходят циклы тестирования и отладки в процессе разработки, а также после него, чтобы сгладить ошибки/проблемы. И ADB, вероятно, их лучший друг, который не только помогает им в отладке, но и значительно упрощает этот процесс. Если вы разработчик, то можете использовать команды ADB для быстрой отправки или извлечения файлов, таких как журналы, отчеты или APK-файлы, на устройства Android или с них.

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

Подготовка

Если вы разработчик или кто-то, кто часто возится с программным обеспечением вашего телефона Android, возможно, на вашем ПК уже все настроено и готово к использованию. Но если вы новичок, вам необходимо сначала подготовить ПК и устройство Android, прежде чем вы сможете начать передачу файлов с помощью команд ADB Push/Pull.

  • Прежде всего, вы должны установить ADB на ПК с Windows, macOS, Linux.
  • Запустите окно командной строки в той же папке, где был установлен ADB. Для этого:
    • В Windows: перейдите в папку, в которой установлен ADB (например, C:\platform-tools). Удерживая клавишу SHIFT, щелкните правой кнопкой мыши любое пустое место внутри папки. Затем выберите опцию «Открыть окно PowerShell здесь» или «Открыть окно команд здесь».
    • В macOS/Linux: запустите терминал и измените его каталог на папку, в которой установлен ADB (например, Documents/platform-tools/), используя команду cd:

    После того, как вы сделали это, перейдите к инструкциям ниже о том, как передавать файлы между вашим ПК и устройством Android с помощью команд ADB Push и ADB Pull. Убедитесь, что вы выполнили шаги, а затем прочитали объяснение, чтобы полностью понять их использование.

    Использование ADB Push для передачи файлов с ПК на устройство Android

    1. Подключите устройство Android к ПК с помощью USB-кабеля.
    2. Скопируйте файл (ZIP, APK и т. д.), который вы хотите перенести, в папку, в которой установлен ADB на ПК.
    3. Запустите командную строку/PowerShell или терминал в той же папке
    4. Теперь введите следующую команду:

    Использование ADB Pull для передачи файлов с устройства Android на ПК

    1. Подключите устройство Android к ПК с помощью USB-кабеля.
    2. Запустите окно командной строки в папке на ПК, где установлен ADB
    3. Теперь введите следующую команду:

    Пояснение

    Теперь приведенные выше инструкции предложили вам синтаксис использования команд. Теперь давайте покажем вам, как именно работают команды ADB Push и ADB Pull, а также приведем примеры для каждой из них.

    Как я уже упоминал выше, эти команды не нужны обычному повседневному пользователю Android. Но хорошо знать, что они у вас есть как вариант, когда все остальное терпит неудачу. Для разработчиков и опытных пользователей, которые постоянно работают с ADB, эти команды могут оказаться очень полезными и избавят от дополнительных усилий по включению режима MTP/File Transfer и последующему перемещению файлов.

    Итак, для начала вы должны убедиться, что ADB правильно настроен на вашем ПК, что совершенно очевидно, поскольку вы собираетесь использовать команды ADB. Затем вам нужно включить параметры разработчика на вашем устройстве Android и дополнительно включить в нем параметр отладки по USB. Параметры скрыты по умолчанию в качестве дополнительного уровня безопасности, поэтому обычный пользователь не может в конечном итоге возиться с ними без предварительного уведомления.

    Обратите внимание, что отладку по USB необходимо включить только для успешного взаимодействия с вашим устройством через ADB, когда устройство загружается в реальную ОС. Если вы собираетесь использовать команды, когда ваше устройство Android находится в режиме восстановления TWRP, вам не нужно включать отладку по USB.

    • Примечание. Избегайте интернет-ресурсов, которые могут сообщить вам, что для использования команд ADB в режиме восстановления (стандартном или пользовательском, это не имеет значения) необходимо включить отладку по USB.

    После этого вам просто нужно подключить устройство к ПК с помощью USB-кабеля и запустить окно командной строки (PowerShell/CMD в Windows или Терминал в macOS/Linux). Убедитесь, что вы открываете командную строку в той же папке, где установлен инструмент ADB (не требуется, если ADB настроен для использования в масштабах всей системы). После этого вам останется только ввести команды. Читайте ниже для дальнейшего объяснения вместе с примером.

    1. Пример использования ADB Push

    Теперь команда для отправки файла с ПК на устройство Android должна начинаться с «adb push», за которым следует пробел и полный путь к местоположению файла на ПК (обозначается как « » в приведенных выше инструкциях). ), который вы хотите передать. После этого вам нужно добавить еще один пробел и ввести путь к месту на устройстве, куда вы хотите передать файл (обозначается как « » в приведенных выше инструкциях).

    Например. Допустим, я хочу отправить файл с именем «ota.zip», расположенный в папке «C:\platform-tools» на моем ПК, в папку «Загрузить» во внутренней памяти моего устройства. В этом случае команда должна выглядеть следующим образом:

    ⇒ Здесь «C:\platform-tools\ota.zip» — это полный путь к файлу, который я хочу перенести с ПК. А «/sdcard/Download» — это место на устройстве, куда я хочу передать файл.

    2. Пример использования ADB Pull

    С другой стороны, команда для извлечения/копирования файла с Android на ПК должна начинаться с «adb pull», за которым следует пробел и полный путь к местоположению файла на устройстве (называемый « ” в инструкции), которые вы хотите перенести. После этого вам нужно добавить еще один пробел и ввести путь к месту на ПК, куда вы хотите передать файл (называемый «

    Например: если вы хотите извлечь файл с именем «magisk_patched.img», расположенный в папке «Загрузки» внутренней памяти моего устройства, в папку «C:\platform-tools» на моем ПК, тогда команда должно выглядеть следующим образом:

    ⇒ Здесь, Здесь «/sdcard/Download/magisk_patched.img» — это полный путь к файлу, который я хочу перенести с устройства. И «C:\platform-tools» — это место на ПК, куда я хочу передать файл.

    Мы надеемся, что примеры дали вам четкое представление о том, как работают команды.Если вы все еще чувствуете себя сбитым с толку, попробуйте, и это не принесет никакого вреда. Если вы введете неправильную команду, в командной строке сразу же появится сообщение об ошибке. Если вы ввели правильный путь и команда прошла успешно, то вы должны передать прогресс в самой командной строке.

    Вот как вы можете использовать команды ADB Push/Pull для передачи файлов между вашим ПК и устройством Android.

    Это одна из многих статей в нашей серии Android 101, в которой мы научим вас основам Android. Мы надеемся, что вы найдете эту статью и всю серию в целом полезными. Если у вас есть какие-либо вопросы относительно команд ADB Push и ADB Pull или их использования, сообщите нам об этом в комментариях.

    Комментарии

    Дополнение:
    Сценарий 4. Для тех, кто думает, что MTP — это куча дымящейся чепухи.
    Сейчас я использую adb push на рабочем столе Linux для управления mp3 на SD-карте моего телефона. Такой быстрый и надежный, что я удивляюсь, как им удалось сделать MTP таким медленным и ненадежным!

    Джерри, не могу не согласиться. Хотя в некоторых телефонах теперь используется хранилище UFS, удивительно видеть, что скорость передачи по-прежнему низкая при использовании MTP в определенных обстоятельствах.

    Например, передача 3,04 ГБ пакета OTA на мой OnePlus 8 через MTP заняла всего 73 секунды, а с помощью ADB – 81 секунду.

    Но при передаче того же файла с моего MacBook отправка через ADB заняла всего 57 секунд, тогда как с помощью Android Transfer Tool — 75 секунд.

    Я не уверен, что это связано с используемым портом USB. Потому что на моем компьютере с Windows у меня были только порты USB 3.1 поколения, а на моем Macbook я использовал порт USB 3. Кроме того, это также может зависеть от технологии хранения, используемой устройством (EMMC или UFS), и если UFS, то от его версии.

    В любом случае, как вы сказали, для вас это имело значение. Итак, я обязательно добавлю четвертый вариант использования.

    Протокол передачи мультимедиа (MTP) работает медленно, содержит ошибки и изначально не работает на Mac или Linux. Следуя этому простому руководству, вы сможете быстро, легко и безболезненно копировать файлы со своего устройства через оболочку вашего устройства с помощью передачи файлов ADB, полностью избегая MTP.

    Настройка передачи файлов через ADB

    Сначала установите Minimal ADB и Fastboot или получите официальные инструменты с сайта разработчиков Google. Я предпочитаю минимальные инструменты, поскольку они содержат все необходимое в небольшом устанавливаемом пакете, но оба будут работать нормально. Как только это будет сделано, включите отладку на вашем Android-устройстве. Для этого перейдите в приложение «Настройки», нажмите «О программе», нажмите на номер сборки, пока не появится надпись «Вы разработчик». Нажмите назад, выберите новые параметры разработчика и включите отладку по USB. Подключите телефон к компьютеру, разрешите подключение на телефоне, если потребуется, и откройте ADB в командной строке. Если вы установили минимальный пакет, вы можете просто открыть его из панели поиска Windows. Тип:

    adb-устройства

    и убедитесь, что ваше устройство там распознано.

    Если вы видите что-то подобное, все готово.

    Вытягивание через ADB

    ADB pull лучше всего подходит для резервного копирования всего устройства, но его можно использовать и для отдельных файлов или папок. Найдите путь к нужному файлу или папке, добавьте «/sdcard/» в начале пути (даже если на вашем устройстве нет SD-карты) и введите:

    adb pull «/sdcard/path/to/file» «C:\location\on\computer»

    Это прекрасно работает и для папок, при этом будет передано все содержимое. Просто направьте его на путь к папке. Если вы хотите передать все содержимое вашего устройства, используйте следующую команду:

    adb pull «/sdcard/» «C:\location\to\file»

    Отправка через ADB

    Если вы освоили вытягивание ADB, то с проталкиванием через ADB будет легко. Это то же самое в основном. Допустим, у меня есть файл с именем «goat.jpg» в корне моего диска C:. Чтобы поместить это в корень хранилища моего устройства (например, доступный моим файловым менеджером), я просто набираю:

    Продвинутый пользователь Android всегда хочет свести к минимуму объем работы в процессе разработки, чтобы больше сосредоточиться на цели. ADB или Android Debug Bridge — отличный инструмент для тех, кто хочет выполнять задачи на Android через компьютер. Например, вы можете отправлять и извлекать файлы с помощью команд ADB push и ADB pull на любом устройстве Android.

    Во время разработки ПЗУ или мода выполняется множество крошечных операций, таких как извлечение файлов с устройства, перепрошивка модов, восстановление резервных копий, если устройство заблокировано, и так далее. Эти крошечные операции занимают большую часть времени во время этого процесса, и одна из самых важных операций — это отправка файлов на устройство Android и извлечение файлов с него.

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

    С помощью инструмента ADB вы можете отправлять и извлекать файлы с помощью простых команд, поэтому вам даже не нужно прикасаться к устройству, чтобы попробовать свои моды. Сегодня мы покажем вам, как отправлять и извлекать файлы на устройстве Android с помощью команд ADB. Недавно мы составили огромный список команд ADB и Fastboot, которые могут помочь вам делать удивительные вещи на вашем телефоне или планшете Android.

    Подготовьте устройство

    • Заряжайте устройство при уровне заряда выше 60 %, чтобы избежать выключения во время процесса.
    • Установите соответствующие драйверы устройств на свой компьютер и проверьте, обнаружено ли устройство. Драйверы USB для вашего устройства можно найти на нашей странице загрузки драйверов.
    • Включите отладку по USB на телефоне в разделе «Настройки» > «Параметры разработчика». Если вы не найдете опцию «Разработчик» в настройках устройства, прочтите инструкции, приведенные здесь.
    • Либо настройте ADB и Fastboot на своем компьютере, либо загрузите инструмент Minimal Fastboot/ADB и разархивируйте его: adb-platform-tools.zip

    Отправлять и извлекать файлы с помощью команд ADB

    1. Загрузите и извлеките файл platform-tools.zip на свой компьютер с Windows, Mac или Linux.
    2. Откройте командную строку в папке ADB, щелкнув правой кнопкой мыши пустое место в папке, удерживая при этом клавишу Shift. Выберите «Открыть окно команд здесь» или «Открыть окно PowerShell здесь». Командное окно ADB SDK Platform-Tools
    3. Теперь, чтобы извлечь любой файл с вашего устройства, вам нужно знать его путь. Как только вы узнаете путь к файлу, введите следующую команду, чтобы извлечь файл.
    4. Например, давайте вытащим файл Settings.apk, который находится в папке /System/app/ на вашем устройстве.

      Теперь вы знаете, как отправлять и извлекать файлы с помощью команд ADB. Эти команды важны, но просты, не так ли?

      Читайте также: