LINUX.ORG.RU

Вышла версия 2.4 Android File Transfer for Linux, теперь и для OS X

 , ,


9

2

Android File Transfer for Linux — свободная и стабильная реализация протокола MTP, который используется для многих современных мобильных устройств. В комплекте присутствует Qt/Cli-интерфейсы, поддерживается монтирование через Fuse. Может закачивать файлы любых размеров, не тормозит и не виснет.

За последние полгода и две версии проект получил большое количество фидбека, писем, проклятий и угроз (больше всего), и почти всё было реализовано. Хоть денег мне никто не шлет, испытываю невероятную потребность отчитаться за проделанную работу перед самой требовательной публикой (вами).

В версии 2.4 было добавлено:

  • Киллер-фича: fuse wrapper автоматически переподключается, если девайс отключили, а потом включили обратно. Ни один проект ТАК не заботится о своих пользователях.
  • Поддержка OS X. Парадоксально, но оригинальный AFT умеет вешать мак целиком и вырубать все внешние USB устройства. Как это у гугла вышло, я не знаю, у меня не получилось. Также, часть названия проекта «…for Linux» теперь не соответствует действительности. Что с этим делать — не знаю, посоветуйте :(
  • Cli-утилита обзавелась интерактивным режимом с readline, историей и подстановками. Для этого пришлось сделать метаразбор метатипов метафункций на этапе метакомпиляции и научить компилятор вызывать функцию с параметрами из tuple, что есть только в самом новом стандарте c++. (я пока держусь и хватает c++11)
  • Смена лицензии на GPLv3.
  • Пост на reddit, где есть много боли и интересного в комментариях (англ.)
  • Проект можно собрать без qt и без readline, для труъ джедаев и терминалов vt-100.

Старые фичи v2.3, корректирующего релиза к v2.2:

  • Отправка zero length packet (или ZLP (просторечие, неценз.), починены все известные зависания на момент v2.2. (Надеюсь, новые уже добавлены в v2.4)
  • Установка cli-тулзы по ninja/make install. засоряем вашу систему
  • Отслеживание EBUSY, когда устройство или интерфейс занят, о чем сообщается по-человечески, а не ioctl failed: Device or resource busy.
  • Различные исправления для Windows Phone. Судя по вестям из полей, Android File Transfer — единственный способ подключить вашу Lumia к Linux. Не знаю правда ли, но приятно, что мир избавился от небольшой части вечного страдания.

>>> Сайт проекта



Проверено: JB ()
Последнее исправление: Klymedy (всего исправлений: 13)

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

если у вас всё работает, вам не нужно, это написано в описании проекта. но что-то я сильно сомневаюсь, что libmtp/mtpfs поделки могут 40-50 мегабайт в секунду качать/скачивать.

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

AirDroid

Проприетарное дерьмецо.

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

Возможно, не только свободное, но стремлюсь к этому. Вычистил всякие гуглозонды, приложения ставлю из f-droid.

Klymedy ★★★★★
()

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

В общем, спасибо, бро.

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

Если система изначально проприетарная даже если отчасти - какой смысл? А вот фишка в том что для общения с девайсом с моего Линукса не нужно ничего доп устанавливать - достаточно открыть браузер- и перейти по адресу.

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

AirDroid, Браузер

Дерьмицо по определению (на лицензию плевать)

WebDAV это подделие тоже не поддерживает

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от Deleted

Кто-нибудь обьяснить мне зачем оно надо когда есть nautilus

ну в gnome очень дрянной и багованный GVFS. И причём во всём куда не плюнь - webdav, smb, mtp...

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от waker

А ты хотел чтобы в репо лежали файлы проекта для всех мыслимых ОС/систем сборки/компиляторов? На то СМаke и нужен.

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

А ты хотел чтобы в репо лежали файлы проекта для всех мыслимых ОС/систем сборки/компиляторов? На то СМаke и нужен.

не, я хотел чтобы на сайте был dmg готовый. и что там у разработчика на компе — мне параллельно.

waker ★★★★★
()

Не совсем понял, это баг или фича?

1. Открываю девайс
2. Жму ctrl-a
3. Выбираю download
4. Скачивается 3 файла из корня и всё
В логах следующее:

downloading to  "/mnt/array/backups/mi2s/19.10.2015"
found  0  objects in  "/mnt/array/backups/mi2s/19.10.2015/Alarms"
found  0  objects in  "/mnt/array/backups/mi2s/19.10.2015/Android"
...
found  0  objects in  "/mnt/array/backups/mi2s/19.10.2015/Podcasts"
found  0  objects in  "/mnt/array/backups/mi2s/19.10.2015/yandexmaps"
downloading  3  file(s),  371886114  bytes
downloading  61 to "/mnt/array/backups/mi2s/19.10.2015/FCR_MIUI_R7.0S.zip"
downloading  98 to "/mnt/array/backups/mi2s/19.10.2015/seq_id"
downloading  43 to "/mnt/array/backups/mi2s/19.10.2015/statstorage_v5.xml"
finishing queue
finished

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

Фантазии яблодрочеров меня не интересуют.

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

если бы нужен был только cmake, то я бы, так и быть, его бы поставил временно, и удалил после сборки... но готов поспорить на много денег, что после установки cmake оно попросит подтащить еще тонну всякого ненужного дерьма для сборки, а потом или не соберется, или захочет ставиться в /usr/local через make install, вместо того чтобы завернуться в app bundle. я где-то неправ?

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

Да вроде есть пакеты в каске.
waker:

$ brew cask info android-file-transfer
android-file-transfer: latest
Android File Transfer
https://www.android.com/filetransfer/
Not installed
https://github.com/caskroom/homebrew-cask/blob/master/Casks/android-file-transfer.rb
==> Contents
  Android File Transfer.app (app)

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

Да вроде есть пакеты в каске.

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

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

Что ты такой агрессивный?

че, заметно да? :( тяжелый день был. не воспринимай лично.

waker ★★★★★
()

whoozle, подскажи пожалуйста, как в cli-интерфейсе переопределить место сохранения для файлов, по умолчанию оно сохраняет во внутреннюю память, а хотелось бы на карточку.

asus ASUS_Z008D> storage-list 
00065537 volume: , description: Внутренняя память
00131073 volume: , description: SD-карта

ATWA
()

Android File Transfer for POSIX (AFTP)

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

спасибо, но мне такое не надо. я против этой отсебятины

homebrew - отсебятина? омг

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

Таки так и напиши: хочу, чтобы мне сделали ануслинг.

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

Ну это понятно. Но опять же, когда fat32 можно вежливо пользователя послать сообщением, а можно завершить приложение сегфолотом

Есть подозрение, что на уровне mtp нет возможности разглядеть, что там за файловая система.

Другое дело, что возможно нет обработки той ошибки, что приходит от сервера mtp.

AVL2 ★★★★★
()

МТР должно фигурировать в названии

МТР должно фигурировать в названии, потому как file transfer может быть осуществлен: * через USB storage интерфейс * wi-fi + ftp * ADB push/pull команды

про MTP протокол я даже не подумал когда прочитал заголовок новости

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

Вчера ночью один из пул реквестов сломал сборку под qt4, ничего принципильно qt5-ого там нет, должно собираться, возьмите последний мастер, либо v2.4

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

как правило у нормальных производителей за mtp нет fat32, fat32 только с usb storage, либо sd карта, отформатированная на компе.

whoozle
() автор топика

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

Toll ★★
()

Yet Another Android File Transfer :)

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

Я и собирал 2.4. Не находит #include <QtWidgets>. Я так понимаю, что этот модуль появился в Qt5. Или всё равно должно собираться?

salsergey
()

Киллер-фича: fuse wrapper автоматически переподключается, если девайс отключили, а потом включили обратно. Ни один проект ТАК не заботится о своих пользователях

Спасибо тебе, добрый человек. Поставлю звездочку, через годик вспомню попробую

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

Спасибо, попробую. Просто я предпочитаю собирать с той версией Qt, которая идёт по умолчанию. В не самых свежих дистрибутивах openSUSE это Qt4.

salsergey
()

Размер шрифта списка файлов где-то жестко задан? Пробовал запустить ui в unity и плазме - кегль раза в два больше заданного системой.

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

Ну так нак sd карточка обычно в fat32. И раздается она вместе в внутренней памятью через mtp.

AVL2 ★★★★★
()

А есть возможность собрать программу без QT?

мне вполне хватает режима fuse.

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