LINUX.ORG.RU

Android File Transfer for Linux

 ,


7

5

Наверняка многие из вас используют MTP, наверняка кто-то успешно, но может быть у кого-то (как у меня) всё время случаются недокачанные файлы, пропавшие тэги, отсутствие обложек, обрывы соединения, зависания, отключения устройства, жуткие тормоза, замедление закачки при закачивании целых каталогов. Это всё из-за печально известной libmtp. Меня такое положение дел давно не устраивало и я написал свой MTP клиент, на c++11, с референсной реализацией модели для Qt.

Минимальный ui, создание папки, закачка папки, закачка альбома (с автоматической подборкой и установкой картинки). Никаких fuse, libmtp, libptp, только libusb и Qt, только хардкор.

Очень жду фидбека и хотелок в тракере github, обещаю пилить, так как постоянно использую сам.

>>> Исходный код на github

Ответ на: комментарий от KennyMinigun

С чем? Это клон Android File Transfer, запустил, закачал, закрыл.

whoozle ()

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

wd ()

А я закачиваю на свой телефон через ADB. O_o

a1batross ★★★★★ ()
Ответ на: комментарий от halturin

У меня они уже проходят. На лице нет, зато на теле есть. Брр...

a1batross ★★★★★ ()

В рамках фидбека:

$ ./qt/android-file-transfer

upload worker started
Object::connect: No such signal QListView::showContextMenu(QPoint)
Object::connect:  (sender name:   'listView')
Object::connect:  (receiver name: 'MainWindow')
libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=16
libusb_bulk_transfer(_device->GetHandle(), _out->GetAddress(), const_cast<u8 *>(data.data()), data.size(), &tr, timeout): LIBUSB_ERROR_IO
anonymous ()
Ответ на: комментарий от anonymous

неправильный сигнал починил, errno 16 не видел, сейчас почитаю :)

whoozle ()
Ответ на: комментарий от anonymous

Это EBUSY, какое у вас ядро? я такое видел когда два процесса одновременно пытаются использовать устройство.

whoozle ()
Ответ на: комментарий от whoozle

3.13.0-46-generic

Сейчас если смартфон открыт в файловом менеджере, то получаю 'libusb_bulk_transfer(_device->GetHandle(), _out->GetAddress(), const_cast<u8 *>(data.data()), data.size(), &tr, timeout): LIBUSB_ERROR_IO', а если отмонтировать, то 'vector::_M_range_check'.

anonymous ()
Ответ на: комментарий от anonymous

Я забыл claim/release interface, может быть в этом дело, сделайте pull пожалуйста)

whoozle ()

Испоьзую ssh.
mtp идёт лесом.

mittorn ★★★★★ ()
Ответ на: комментарий от actionless

А если он принесёт на флешке файлы для тебя? А если это устройство, которое кроме ненужноExFAT не поодерживает ничего?

te111011010 ()

Почти всегда стартую FTP-сервер на девайсе и ривычным MC копирую. Но попробую.

oddmean ()
Ответ на: комментарий от te111011010

В чём проблема использовать exfat? В некоммерческих целях ЕМНИП лицензия не запрещает.

Myau ★★★★ ()
Ответ на: комментарий от te111011010

да кому нужны эти файлы, главное чтобы фс была расово правильная

а если серьезно, то что за проблема с exfat? в арчике ВР

actionless ★★★★★ ()
Ответ на: комментарий от oddmean

Расскажи как ты поднимаешь IP соединение при подключении по USB

mittorn может ты тоже знаешь?

irton ★★★★★ ()
Ответ на: комментарий от oddmean

ftp долго для больших объемов. Я использую флешку, у которой с одной стороны usb, с другой - microusb. Заливаю на нее всякого, потом в пути копирую часть контента на телефон или потребляю прямо с нее.

makoven ★★★★★ ()

Есть ли возможность собрать вашу тулзу без Qt и использовать как консольный клиент?

KirG0FF ★★ ()

Мне как то и adb хватало все эти годы:

adb push -p «$1» «/mnt/extsd/video/tvseries/$1»

на каталоге (F2 и выбор в меню в mc) и вперёд. Либо pull соответственно. И никаких монтирований-размонтирований.

Полагаю ты именно его сорцы и распотрошил?

black7 ()
Ответ на: комментарий от KirG0FF

Есть ли возможность собрать вашу тулзу без Qt и использовать как консольный клиент?

adb же

black7 ()
Ответ на: комментарий от makoven

ftp ... флешку

я один использую syncthing?.. что за бред? ТС! ты же рукастый и с кучей свободного времени, так? стругай патчи для libmtp!

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

У тебя мобильные данные/вай-фай включены постоянно?

makoven ★★★★★ ()

Как-то поздновато. Mtp вот начал уже нормально в линуксах работать, этак если мерять в убунтах, то с 14.10 можно пользоваться.

anonymous ()
Ответ на: комментарий от a1batross

И что постоянно включаешь/выключаешь adb? Небезопасно его держать включенным, втыкнешь в зараженную машину и поставит тебе всякое...

anonymous ()
Ответ на: комментарий от anonymous

Я свой телефон никуда не втыкаю. Я бы сказал, некуда, кроме своего ПК.

a1batross ★★★★★ ()

Правильная штука, а то я давно использую исключительно ssh для доступа к телефону.

Evgueni ★★★★★ ()

Это ж его собирать надо. Не, без деба для убунты не готов

ss_ash ★★ ()
Ответ на: комментарий от irton

Да как угодно. Иногда через g_ether, иногда serial+ppp

mittorn ★★★★★ ()

И только у меня смартфон спокойно монтируется как простая флешка потому что в Ленове додумались разделить память.

Polugnom ★★★★★ ()
Ответ на: комментарий от halturin

Это пройдёт вместе с подростковыми прыщами

после них MTP в линаксе начинает нормально работать?

dib2 ★★★★ ()

Надо попробовать, у меня с mtp тоже проблемы

mio ★★ ()

Оно витало в воздухе... Спасибо за инфу, как будет возможность - попробую, ибо в новых вендроидах враги сломали массовый склад.

Hokum_new ()
Ответ на: комментарий от a1batross

Вечновключенная отладка на андроиде? Безопасность!

Deleted ()
Последнее исправление: AlarinPerfect (всего исправлений: 1)

Вах! Надо попробовать. Я уже почти смирился с rsync через ssh, но через USB скорость, всё же, должна бы быть повыше.

Axon ★★★★★ ()
Ответ на: комментарий от irton

Расскажи как ты поднимаешь IP соединение при подключении по USB

А никак, копируем по вафле. Всё равно libmtp даже через USB тормозит ещё сильнее.

Axon ★★★★★ ()
Ответ на: комментарий от Wizard_

И какой сервер на андроиде?

SSHelper годный. Огорчает только убогость андроидовского шелла, с которой ничего не поделать.

Axon ★★★★★ ()
Ответ на: комментарий от Deleted

Вечновключенная отладка на андроиде? Безопасность!

Обоснуйте.

Axon ★★★★★ ()

А зачем в названии слово Android? У меня, кстати, через kioslaves (KDE) ничего не пропадает и не зависает, небольшая задержка только при начальном открытии «директори».

slowhunter ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.