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 ()
Ответ на: комментарий от Deleted

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

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 ()
Ответ на: комментарий от 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 ()
Ответ на: комментарий от te111011010

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

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

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

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

makoven ★★★★★ ()

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

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

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

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

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

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

adb же

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

ftp ... флешку

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

t184256 ★★★★★ ()

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

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

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

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

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

a1batross ★★★★★ ()

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

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

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

mittorn ★★★★★ ()

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

Polugnom ★★★★★ ()

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

mio ★★ ()

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

Hokum_new ()

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

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

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

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

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

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

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

Axon ★★★★★ ()

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

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