Я недавно купил Nexus 4, и я хотел бы перенести мои фотографии моего предыдущего устройства на него. Мой предыдущий телефон Android использовал стандартное запоминающее устройство USB, которое давало 0 проблем при копировании туда и обратно, но Nexus 4, как и многие другие современные телефоны Android, я полагаю, использует вместо этого MTP, что имеет интересную особенность - отказываться копировать оригинал даты / метки времени файлов, используя вместо этого дату, когда файлы копируются.
Это очевидно огромный облом, когда дело доходит до фотографий; не только потому, что нельзя проверить исходную дату, когда была сделана фотография во время просмотра по телефону, но также и потому, что они оказались полностью несортированными.
Есть ли способ передачи фотографий на телефон Android Jelly Bean, который не поддерживает запоминающее устройство USB, сохраняя оригинальные метки времени?
Вещи, которые я пробовал до сих пор:
- Передача через USB MTP
- ADB push (как полные папки, так и отдельные файлы)
- Передача по SSH (с использованием SSHDroid + WinSCP)
- Загрузка и загрузка из Dropbox
- Передача файла ZIP через MTP и распаковка файла на телефоне
- Передача с другого телефона через блютус
- QuickPic функция «исправить дату»
- Локальная синхронизация
- Исправление даты фото
- FTPSyncX
- Дымовые сигналы
- Кричать на телефон
Никто из них не сохранил отметку времени, и это сводит меня с ума.
(Кроме того, я еще не root, но если единственный жизнеспособный путь требует root, я также приветствую этот ответ.)
Ответы:
Вы не можете, это текущая проблема с правами доступа (сообщение об ошибке здесь ) в папке Android 4.0 + / sdcard, если она не использует FAT32 (но FUSE).
Причина: существует переход от FAT32 к унифицированному пользовательскому хранилищу для приложений и мультимедийных данных (с использованием ext4) в одной файловой системе.
Старые свойства FAT32 эмулируются с использованием слоя FUSE для совместимости с существующими приложениями. Также: / data / и / sdcard на устройствах Google, начиная с Nexus 7, используют только один раздел (/ data / media представляет контент «sdcard» и предоставляется приложениям с помощью слоя FUSE).
Вот реализация CyanogenMod драйвера FUSE, если вы заинтересованы в просмотре исходного кода. Похоже, установка атрибутов меток времени реализована.
РЕДАКТИРОВАТЬ: Это работает только с рутом.
Точная причина: все файлы принадлежат root.sdcard_rw (см. Здесь ).
Вызывающий без uh = 0 не может вызвать системный вызов utimensat () , он уже терпит неудачу в слое VFS (EPERM) для временных отметок , отличных от текущего:
источник
Я недавно сталкивался с этой проблемой на Nexus 5 и безуспешно пробовал большинство решений, перечисленных здесь. В моем случае, похоже, это вызвано признанной ошибкой со стоковым Android ( источник ).
Мое решение было следующим: я использовал Windows 8.1, но без причины это не сработало бы в OSX / Linux (однако на устройстве требуется root).
На вашем ПК создайте архив .tar.gz всех файлов, которые вы хотите перенести.
Передайте архив на устройство с помощью FTP, убедившись, что используется команда MFMT.
На устройстве распакуйте архив в оболочку от имени root.
su
команды. Вам может потребоваться предоставить доступ, если всплывает SuperSU.cd /sdcard/
tar -xvf ARCHIVE_NAME_HERE.tar.gz
DCIM/Camera
каталог изображения не отображаются вообще в приложении стоковой галереи. Если это произойдет с вами, я предлагаю вам извлечь в другой каталог, а затем переместить (не копировать) файлы в каталог камеры. Я подозреваю, что это вызвано проблемой с разрешениями. Вы можете использовать терминал или ваш файловый менеджер для перемещения файлов.Это позволило всем атрибутам «дата изменения» файлов остаться неизменными и оставить все фотографии в правильном порядке при просмотре в приложении галереи.
источник
Проверьте данные EXIF и посмотрите, есть ли там отметка времени.
Если есть, Photo Date Correction позволит вам переписать временную метку испорченного файла на EXIF, вернув вам правильную сортировку.
источник
Это вопрос, который меня очень беспокоит, когда я сталкиваюсь с устройствами, у которых есть только MTP, но нет режима Mass storage. У меня также есть опасения по этому поводу с точно такими же причинами, что и у Мана.
После некоторого тестирования я нашел временное решение, которое может сохранить временную метку.
Он использует внешний кард-ридер sdcard / OTG, а также команду cp с -a, которую сможет сохранить метка времени. Но требование - телефон должен быть рутирован.
источник
Как упоминалось в другом ответе, на устройствах, использующих FUSE для эмуляции SD-карты (таких как современные устройства Nexus), только root может изменять временные метки файлов в
/sdcard
. Поскольку такие вещи, как MTP и ADB, не запускаются с правами root, вы не можете сохранить временные метки с помощью этих методов. Однако, если ваше устройство рутировано, вы можете исправить временные метки с помощью отдельного шага после этого.Восстанавливая полную резервную копию
/sdcard
с ПК с Linux на мой планшет, я использовал эту команду, чтобы исправить все временные метки после загрузки файлов с помощьюadb push
:Это должно быть запущено из корня каталога на ПК, который соответствует
/sdcard
на устройстве. (Или, если вы загрузили что-то, кроме полной/sdcard
резервной копии, измените путь вtouch
команде ближе к концу. Но вы должны запускать его из любого каталога на ПК, который соответствует каталогу вtouch
команде.)Как это работает, так это то, что он просматривает все файлы на стороне ПК, получает временную метку каждого и запускает на устройстве
touch
команду с правами root, чтобы установить там временную метку соответствующего файла.Обратите внимание, что это будет запускать отдельную
su
команду для каждого отдельного файла. Если вы включили ведение журнала в своей корневой программе (например, SuperSU), вы можете отключить это, чтобы избежать создания большого количества записей журнала. И если у вас настроено устройство для запроса подтверждения при каждомsu
запросе, вы, вероятно, захотите временно его изменить. (Может быть возможно придумать вариант, который направляет потокtouch
команд в одну корневую оболочку на устройстве, но простой способ сделать это не сработал, когда я попробовал, и я не хотел тратить много времени на это.)Я успешно использовал это на Nexus 10 под управлением Android 5.1.
источник
У меня точно такая же проблема. Похоже, что он заблокирован предохранителем на Nexus 4 под управлением Stock JellyBean 4.2.1.
Эта информация была взята через сеанс оболочки adb; Я предполагаю, что предохранитель будет в смеси для всех учетных записей уровня приложения.
TL; DR Судя по всему, это невозможно сделать без рутирования телефона.
источник
[old_pictures]$ for f in $(ls -1 * | sort -t _ -k 2); do adb push $f /storage/sdcard0/DCIM/Past/; sleep 3; done;
если вы идете по этому пути, сначала выполните тестовую загрузку, чтобы убедиться, что вы удовлетворены. Кроме того, отключите функцию мгновенной загрузки Google+, чтобы не получать «двойную загрузку».Если вы используете приложение Google Photo и хотите, чтобы ваш файл отображался в правильном порядке, есть решение.
Предыстория вопроса
Это ошибка Android. Он не позволяет пользователю без полномочий root изменять дату изменения файлов ( https://code.google.com/p/android/issues/detail?id=18624 с момента появления многопользовательской / песочницы с файловой системой FUSE) , И не сохраняет отметку времени при копировании файлов по протоколу MTP ( https://code.google.com/p/android/issues/detail?id=92635 ).
Обходной путь для пользователей Google Photo
Фотографии упорядочиваются с использованием информации EXIF, если таковая имеется, так что вы можете просто использовать любые способы установки правильных данных EXIF для них. Любая камера должна установить это автоматически для вас, просто убедитесь, что дата / время в них правильные.
Для просмотра видео или если вы не хотите устанавливать данные EXIF, просто перейдите на страницу https://photos.google.com/ и загрузите оттуда свои видео / фотографии. Он сохраняет временную метку изменения, установленную на вашем компьютере, и, поскольку она синхронизируется с вашим устройством, вы увидите фотографию в приложении, правильно отсортированную, как только вы закончите загрузку.
источник
Используйте инструмент синхронизации, например, FolderSync , который должен позаботиться о временных отметках соответственно. Инструменты синхронизации должны быть специализированы для обработки всех аспектов реального поддержания синхронных копий, включая, конечно, отметки времени.
источник
СОХРАНЯЮЩАЯСЯ ДАТА, ИЗМЕНЕННАЯ НА УСТРОЙСТВЕ NEXUS
ура .. :)
это сохранить дату изменения. Я не знаю, как это делает Droid Explorer. но это просто работает.
убедитесь, что USB Debuging проверен перед использованием Droid Explorer.
хм ... хотя есть одно ограничение ... Droid Explorer может передавать только файлы, но не папки.
источник
Используйте PTP вместо MTP при подключении телефона через USB. Это работает для меня, я использую Samsung Note 4, подключенный к машине Ubuntu 14.04. Однако подключение как PTP позволяет копировать только изображения / изображения. Все остальные способы копирования файлов (Bluetooth, WIFI, файловый менеджер) на внешний диск изменят дату.
источник
Мое решение сохранить дату изменения при копировании файла на устройство Android с MTP:
Протестировано на стоковой LG G2 (без рута), Andorid 4.4.2 и HTC one M7, Andorid 4.4.2:
Насколько я вижу, даты модификации полностью сохранились!
источник
Решение для резервного копирования с использованием «SanDisk Memory Zone» для сохранения даты и времени. копирование / перемещение файлов с устройства Android на внешнюю SDCard - протестировано на Samsung Note 2, Note 3 и Mini SIII
Просто сделайте резервную копию ваших файлов фотографий на SDCard и перенесите карту на другое устройство Android, ПК, Apple или другое устройство - если не используется для резервного копирования файлов фотографий, следуйте этой простой 8-ступенчатой инструкции "
источник
Быстрое и простое решение: просто используйте ПК или Mac, чтобы скопировать файлы со старой SD-карты (или ПК) на новую SD-карту. Используйте ПК / Mac с устройством чтения / записи SD-карт (есть конвертеры USB-SD-карт), который рассматривает карту как USB-накопитель FAT32. Когда вы закончите копирование, вставьте новую карту в телефон и перезагрузите компьютер.
источник
Я переехал на Moto X 2014 и у меня возникла эта проблема.
Я тоже много чего перепробовал, решение было похоже на «Motorola Migrate» для синхронизации с WiFi двумя телефонами (старый пряничный бэкфлип). В галерее ситуация была хорошая (даже в деталях), но странным образом в файловом менеджере дата была изменена, и через несколько часов даже галерея также показала дату переноса.
Обходной путь, если файлов не слишком много, можно вручную скопировать один за другим, каждый раз меняя дату и время на телефоне.
источник
У меня есть Nexus 4, и у меня была та же проблема с отметкой времени и фотографиями (действительно, со всеми файлами).
Вот командные строки (с рутированным телефоном), которые я использовал, благодаря посту в Ubuntu:
(в Ubuntu, если Android SDK не установлен)
Для того, чтобы зайти в мою папку «бэкап», в которой находится папка «savandroid»
Все файлы и папки, находящиеся в «saveandroid», отправлены на SD-карту, работают хорошо, все отметки времени правильные!
Примечание : на Cyanogenmod мне пришлось выбрать root для «apps and adb» в меню разработчиков. По умолчанию это только для приложений.
источник
Я добавлю свое решение, которое работало на Ubuntu
Сначала установите simple-mtpfs и установите fuse
Теперь у вас есть телефонные папки, смонтированные в этом каталоге, которые вы можете использовать
rsync -t
илиcp -p
копировать фотографии, и время создания / изменения / доступа не будет изменено.Работа для меня :)
источник
Чтобы скопировать файлы с вашего Android на ваш ПК, сохраняя временные метки:
Чтобы восстановить их обратно на Android:
Это работает путем создания файла tar внутри устройства, который сразу же извлекается на вашем хосте, и наоборот.
«V» позволяет увидеть имя копируемого файла.
Конечно, это предполагает, что у вас установлен "adb", что в телефоне включена отладка по USB и что вы уже проверили сертификат отладки.
источник
Попробуйте приложение «Передача файлов Bluetooth», оно сохраняет дату изменения с перемещением. И я верю с копией тоже, но сначала попробуйте с одним файлом / папкой, чтобы убедиться. Он также может исследовать другое устройство через bluebooth.
источник
Используйте SyncMe Wireless и сетевой ресурс. Метки времени сохраняются, а синхронизация выполняется быстро. Я смог за 20 минут выполнить резервное копирование без компьютера на SD-карту в Kingston MobileLite Wireless, мгновенная повторная синхронизация.
источник