- Вопрос или проблема
- Предварительные условия
- 4.1 Копирование *.jpg || *.mp4 Файлы с подстановочными знаками
- 4.2 Копирование каталогов
- 4.3 Копирование файлов
- 5. Очистка
- adb <pull | push>
- Ссылочные источники
- Ответ или решение
- Эффективный перенос фото и видео с Pixel 4a на Windows ПК
- 1. Подготовка
- 2. Использование ADB для передачи файлов
- 3. Альтернативные методы передачи данных
- Заключение
Вопрос или проблема
Каждые несколько месяцев я переношу фотографии и видео с моего телефона Pixel 4a на мой компьютер с Windows через USB. Процесс медленный, что я могу в какой-то степени терпеть. Но он также трудоемкий и подверженный ошибкам.
Трудоемкий: мне нужно предварительно просматривать видео/изображение (что имеет заметную задержку, потому что я получаю к нему доступ через компьютер, подключенный к телефону по USB), копировать, вставлять, а затем вручную удалять оригинал каждый раз. Почему я должен делать это именно так?
Подверженный ошибкам: видимо, невозможно сделать это массово; попытка скопировать/вставить больше чем одно видео за раз почти всегда приводит к зависанию моего компьютера, а использование “вырезать” вместо “копировать” — это риск, который я не готов взять на себя по этой причине. Я не беспокоюсь о переносе множества фотографий, потому что, похоже, это не стоит времени, чтобы пройтись по всем им по отдельности, и это не стоит риска их потерять, если я попытаюсь перенести их сразу много.
Также: когда я переношу видео, я начинаю получать всплывающие сообщения “нельзя изменить файл, так как он используется” с постепенно увеличивающейся частотой, когда я пытаюсь их скопировать.
Кроме того: мне приходится пытаться удерживать мой телефон разблокированным, “закрепляя” приложение для фотографий. Это не предотвращает затухание экрана, что, похоже, приводит к замедлению, поэтому мне также приходится постоянно нажимать на экран телефона в течение всего процесса переноса. Плюс я не знаю, что хуже: оставить открытым приложение для фотографий, что означает, что мой телефон и компьютер пытаются получить к ним доступ одновременно, или оставить открытым какое-то другое приложение, что может вызвать проблемы по какой-то другой причине.
Я использую USB-кабель 3.0, но мне интересно, является ли частью проблемы то, что USB-порт на моем телефоне либо изношен, либо просто не предназначен для тяжелой передачи данных. Это имеет смысл; Google хочет, чтобы я подписался на их облачный сервис. Но я не хочу этого. Я хочу найти способ сделать свой процесс более эффективным. Есть какие-нибудь предложения?
Обновление (16-08-2023): Попробовал сделать это снова, используя свой старый метод, и обнаружил, что он значительно хуже, чем раньше. Если я смотрю что-либо на своем телефоне через компьютер, он выдает ошибку “ресурс уже используется”, если я затем пытаюсь скопировать/вставить или даже если я пытаюсь просмотреть что-то другое. Эта ошибка раньше возникает с увеличивающейся частотой; теперь это что-то, что гарантированно произойдет. Единственный способ возобновить копирование/вставку файлов, похоже, это отключить/подключить телефон и начать процесс заново или подождать неопределенное количество времени после просмотра чего-то, чтобы попытаться посмотреть что-то еще. Я посмотрю, помогут ли какие-либо из предложений, так как они сейчас нужны больше, чем когда-либо.
Одна из проблем — использованный для передачи файлов протокол MTP. Этот протокол был разработан Microsoft давно для крошечных устройств с несколькими сотнями КБ оперативной памяти и несколькими МБ флеш-памяти, а не для современных устройств с 100 и более ГБ и большим объемом оперативной памяти.
По этой причине MTP очень ограничен, например, он позволяет только одну команду за раз, поэтому, если вы что-то копируете, все устройство заблокировано даже для перечисления файлов в каталоге.
К счастью, Android включает альтернативный протокол, который способен обрабатывать несколько команд одновременно, и этот протокол также более надежен: Android Debug Bridge. Вам нужно будет включить параметры разработчика на телефоне Android (обычно нажать 5 раз на номер сборки Android в настройках Android), а затем включить в настройках разработчика Android Debug Bridge (ADB).
На стороне ПК вам нужен Android SDK или пакет “Минимальный ADB”, и для некоторых устройств пакет драйверов для распознавания интерфейса adb. Для устройств Google вы можете найти ZIP-файл, содержащий драйверы, здесь: Драйверы USB Google версии 13. Небольшой учебник о том, как установить драйверы, можно найти, например, здесь. Для установки adb вы можете обратиться к учебнику на XDA: Как установить ADB на Windows, macOS и Linux.
Затем вы можете использовать инструменты на основе adb, такие как adb-sync
(к сожалению, Google прекратил разработку) или его преемник better-adb-sync. Также доступны графические инструменты, такие как “ADB explorer”, которые используют adb в фоновом режиме, я не знаю, насколько они хороши, я предпочитаю командную строку.
Самый быстрый способ переноса файлов с Android на ПК всегда через adb
[Android Debug Bridge]; однако, если видео сохранены в /sdcard/DCIM/Camera
, они будут перемешаны с фотографиями, и их нужно будет обрабатывать как подстановочные знаки [*.mp4
] для копирования всех файлов с этим расширением.
Предварительные условия
- Загрузите и извлеките
platform-tools
в%ProgramData%
- Откройте терминал PowerShell / Cmd: +R → Открыть:
powershell
||cmd
→ OK- Добавьте
platform-tools
в$env:PATH
/%PATH%
:# После выполнения закройте и откройте терминал снова: Cmd /c Setx /M Path "%PATH%;C:\ProgramData\platform-tools;"
- Добавьте
- USB-отладка должна быть предварительно включена через Параметры разработчика, чтобы использовать
adb
:- Настройки → О телефоне || → Информация о ПО || → Дополнительно
- Нажмите Номер сборки 7 раз, пока не появится Теперь вы разработчик!
- Настройки → Поиск настроек:
отладка
→ USB-отладка
4.1 Копирование *.jpg
|| *.mp4
Файлы с подстановочными знаками
- Телефон → ПК:
- PowerShell:
# JPG [фотографии]: adb shell ls "/sdcard/DCIM/Camera/*.jpg" | foreach {adb pull -a -p "$_"} # MP4 [видео]: adb shell ls "/sdcard/DCIM/Camera/*.mp4" | foreach {adb pull -a -p "$_"}
- Cmd:
(Должен выполняться из директории, в которую будут сохранены файлы)# JPG [фотографии]: for /F "delims=" %I in ('adb shell find "/sdcard/DCIM/Camera/*.jpg"') do (adb pull -a -p "%I") # MP4 [видео]: for /F "delims=" %I in ('adb shell find "/sdcard/DCIM/Camera/*.mp4"') do (adb pull -a -p "%I")
- PowerShell:
- ПК → Телефон:
- PowerShell:
# JPG [фотографии]: ls ".\*.jpg" | foreach {adb push -a -p "$_" "/sdcard/Path/to/Folder"} # MP4 [видео]: ls ".\*.mp4" | foreach {adb push -a -p "$_" "/sdcard/Path/to/Folder"}
- Cmd:
# JPG [фотографии]: for /F "delims=" %I in ('dir ".\*.jpg" /B /O:-D') do (adb push -a -p ".\%I" "/sdcard/Path/to/Folder/") # MP4 [видео]: for /F "delims=" %I in ('dir ".\*.mp4" /B /O:-D') do (adb push -a -p ".\%I" "/sdcard/Path/to/Folder/")
- PowerShell:
4.2 Копирование каталогов
- Телефон → ПК:
# В текущую директорию: adb pull -a -p "/sdcard/Path/to/Folder" . # В конкретную директорию: adb pull -a -p "/sdcard/Path/to/Folder" "D:\Path\to\Folder"
- ПК → Телефон:
# Из текущей директории: adb push -a -p "..\<текущая папка>" "/sdcard/Path/to/Folder" # Из конкретной директории: adb push -a -p "D:\Path\to\Folder" "/sdcard/Path/to/Folder"
4.3 Копирование файлов
- Телефон → ПК:
# В текущую директорию: adb pull -a -p "/sdcard/Path/to/File" . # В конкретную директорию: adb pull -a -p "/sdcard/Path/to/File" "D:\Path\to\Folder"
- ПК → Телефон:
# Из текущей директории: adb push -a -p ".\<файл>" "/sdcard/Path/to/Folder" # Из конкретной директории: adb push -a -p "D:\Path\to\File" "/sdcard/Path/to/Folder"
5. Очистка
- Удалить скопированные файлы с телефона:
# Это не потребует подтверждения (для подтверждения удалите -f) # Удалить фотографии и видео: adb shell rm -f "/sdcard/DCIM/Camera/*" # Удалить только фотографии: adb shell rm -f "/sdcard/DCIM/Camera/*.jpg" # Удалить только видео: adb shell rm -f "/sdcard/DCIM/Camera/*.mp4"
- Отключить USB-отладку → Отключить телефон
ADB часто можно добавить в Быстрые настройки для простого включения/выключения USB-отладки, так как оставление его включенным, когда он не используется, является проблемой безопасности данных (никогда не включайте беспроводной ADB, это небезопасно):
adb <pull | push>
# Передача файлов ADB:
# Копирование файлов/каталогов с устройства:
adb pull [-a] [-z ALGORITHM] [-Z] REMOTE... LOCAL
-a: сохранить временную метку и режим файла
-p: отображать ход передачи
-z: включить сжатие с указанным алгоритмом (any/none/brotli/lz4/zstd)
-Z: отключить сжатие
# Копирование локальных файлов/каталогов на устройство:
adb push [--sync] [-z ALGORITHM] [-Z] LOCAL... REMOTE
-a: сохранить временную метку и режим файла
-n: пробный запуск: отправить файлы на устройство без сохранения в файловой системе
-p: отображать ход передачи
-z: включить сжатие с указанным алгоритмом (any/none/brotli/lz4/zstd)
-Z: отключить сжатие
--sync: отправить только файлы, которые новее на хосте, чем на устройстве
Ссылочные источники
Для передачи фотографий с телефона на мой компьютер я использую Syncthing. Вы устанавливаете его на свой ПК, и есть приложение для Android.
Когда вы настроили Syncthing на обоих устройствах: на телефоне подключите ПК как устройство (он просто появится, если вы находитесь в одной сети) и поделитесь своей папкой с фотографиями. На вашем ПК примите запрос на общий доступ, и ваши фотографии начнут передаваться. Любое изменение на любом из устройств будет (по умолчанию) синхронизировано между двумя устройствами, поэтому новые фотографии появятся на вашем ПК, а удаленные будут удалены на обоих. (Я обычно переношу фотографии из этой общей папки в постоянное место на моем ПК, чтобы сэкономить место на телефоне.)
Настройка довольно проста, и провода не нужны. Syncthing немного ресурсоемкий, но вы можете настроить его так, чтобы он работал только когда ваш телефон подключен, чтобы сэкономить батарею. Он может использовать как мобильный интернет, так и Wi-Fi; скорости передачи довольно хорошие, если оба устройства находятся в одной Wi-Fi сети.
Спецификации Google показывают, что Pixel 4a имеет USB3 (USB 3.1 gen 1), так что вы должны иметь возможность получать приличные скорости передачи через USB. Хотя вы говорите, что у вас есть USB3-кабель, вам нужно проверить, подключен ли он к USB3-порту на вашем ноутбуке (некоторые имеют смесь USB2 и USB3 – USB 3 обычно синего цвета). Также проверьте, действительно ли кабель поддерживает USB3, а не просто USB2-кабель с разъемом USB-C на одном конце (Google говорит, что они поставляют Pixel 4a с USB2-кабелем для зарядки…) Использование адаптеров, таких как адаптер Micro USB на USB-C, также может снизить скорость до USB2.
Если соединение USB в порядке, проблема, скорее всего, в том, что ноутбук пытается одновременно читать ваши фотографии, чтобы генерировать миниатюры в то время, как он их копирует. Это замедляет процесс, а также вызывает ошибки “файл используется”. Если вы используете Проводник Windows для копирования файлов, вы можете избежать этого, выбрав “Подробности” в верхнем меню “Вид”, а не один из видов значков. Вам также может потребоваться проверить, нет ли у вас другого программного обеспечения на ноутбуке, которое пытается копировать ваши фотографии, когда вы подключаете телефон, например, Dropbox или другой облачный сервис или программу автоматического резервного копирования.
Лично я не нашел необходимости держать приложение “Фотографии” открытым на моем телефоне во время копирования фотографий на ноутбук или поддерживать телефон разблокированным, как только я разрешил доступ по USB. Моя процедура передачи выглядит так:
- Подключите телефон к ноутбуку через USB-кабель.
- Разблокируйте телефон, выберите уведомление о зарядке USB и установите возможность передачи файлов или фотографий.
- Откройте Проводник Windows на ноутбуке, найдите телефон в Мой компьютер и перейдите в папку DCIM, где находятся фотографии.
- Установите вид Проводника Windows на “Подробности” и дождитесь заполнения списка.
- Перетащите фотографии, которые я хочу, в соответствующую папку на ноутбуке (определяя их по имени файла или дате файла).
Другим вариантом, который вы могли бы рассмотреть, является использование Wi-Fi для передачи ваших фотографий. Если вы можете поделиться папкой на своем ноутбуке, вы можете передать в нее фотографии с телефона, используя приложение файлового менеджера для Android, такое как Cx File Explorer. Это теоретически медленнее, чем USB3, но может дать вам лучшие результаты, если у вас есть проблемы с подключением USB. Отправка фотографий с телефона таким образом также поможет избежать проблемы с другими приложениями Windows, пытающимися считывать их одновременно.
Другим потенциальным обходным путем, если вы используете приложение Google Photos на вашем телефоне и позволяете ему делать резервные копии ваших изображений, является просто перейти на https://photos.google.com/ на вашем ноутбуке и скачать их. Вы можете выбрать те, которые хотите, и скачать их пакетно. Если у вас нет очень быстрого интернет-соединения на ноутбуке, это, вероятно, будет медленнее, чем другие варианты, но для этого не требуется настроить программное обеспечение.
Спасибо за все это. Есть ли советы по передаче СМС-сообщений с телефона Google Pixel 4a на Dell XPS с Windows 10? Подойдет ли метод ADB для этого, и если да, то как?
Ответ или решение
Эффективный перенос фото и видео с Pixel 4a на Windows ПК
Перенос фотографий и видео с вашего Pixel 4a на ПК с Windows может быть ненадежным и трудоемким процессом, особенно когда вы пытаетесь сделать это через USB, используя протокол MTP. Одна из основных причин трудностей заключается в том, что MTP (Media Transfer Protocol) ограничен в своих возможностях, и это может привести к замиранию вашего компьютера при попытке передачи нескольких файлов одновременно. Чтобы упростить этот процесс, рассмотрим несколько альтернативных методов и инструментов.
1. Подготовка
Перед началом убедитесь, что на вашем телефоне выполнены следующие шаги:
- Включите режим отладки по USB: Это делается через меню «Настройки» -> «Система» -> «Для разработчиков» (или «Об устройстве») -> «Номер сборки» (нажмите 7 раз, чтобы активировать меню разработчика). После этого включите «Отладка по USB».
- Скачайте и установите ADB: Вам понадобятся инструменты платформы ADB. Их можно скачать с официального сайта Google. Можно также использовать минимальный набор ADB для более простой установки.
2. Использование ADB для передачи файлов
Альтернативой MTP является использование Android Debug Bridge (ADB), который позволяет обрабатывать многократные команды одновременно. Это значительно ускоряет и облегчает процесс передачи файлов.
Шаги для использования ADB:
-
Установите драйвера Google для вашего устройства. Вы можете скачать их здесь и следовать инструкциям по установке.
-
Добавьте путь к платформенным инструментам в переменные окружения: Это делается через командную строку или PowerShell. Используйте команду:
Cmd /c Setx /M Path "%PATH%;C:\ProgramData\platform-tools;"
-
Подключите ваш Pixel 4a к ПК через USB и выберите режим передачи файлов на телефоне.
-
Откройте PowerShell или командную строку на ПК и используйте следующие команды для передачи:
- Для переноса всех фото (
*.jpg
)adb shell ls "/sdcard/DCIM/Camera/*.jpg" | foreach {adb pull -a -p "$_"}
- Для видео (
*.mp4
)adb shell ls "/sdcard/DCIM/Camera/*.mp4" | foreach {adb pull -a -p "$_"}
- Для переноса всех фото (
3. Альтернативные методы передачи данных
Если вы хотите избежать использования ADB, можете рассмотреть следующие варианты:
-
Syncthing: Это приложение позволяет автоматически синхронизировать папки между вашим Pixel 4a и ПК. Установите Syncthing на оба устройства, настройте общий доступ к папкам, и новые фотографии будут синхронизированы автоматически.
-
Google Photos: Если вы используете приложение Google Photos, вы можете загружать свои фото и видео в облако и затем загружать их на компьютер через веб-интерфейс.
-
Wi-Fi передача: Используйте файловые менеджеры, такие как Cx File Explorer, для передачи файлов через Wi-Fi. Этот метод может быть более быстрым и без проблем, вызванных USB-соединением.
Заключение
Перенос файлов с вашего Pixel 4a на компьютер может быть значительно упрощен с помощью ADB или использования облачных и сетевых решений. Выбор метода зависит от ваших предпочтений и доступных ресурсов. Настоятельно рекомендую предварительно изучить каждый метод и выбрать наиболее подходящий для ваших нужд.