FARdroid — работа с файловой системой Android OS

Здесь можно обсудить ваш любимый плагин.
User avatar
dimfish
Posts: 179
Joined: Fri 29 Apr, 2016 13:18
Location: Saint-Petersburg
Has thanked: 1 time
Been thanked: 36 times

FARdroid — работа с файловой системой Android OS

Post by dimfish »

Обсуждение плагина FARdroid
Плагин к FAR Manager: фaйловая система Android устройств через ADB.
Image Image
  • 3 режима работы Safe, Native, BusyBox
  • Поддержка SuperUser с автоматической проверкой наличия root
  • Поддержка нескольких устройств. Возможность копировать с одного устройтсва на другое.
  • Свое имя для устройства Shift+F7
  • Screenshot Alt+F10
  • Change Permissions Ctrl+A (Native Mode+Extended File Access)
  • Rename Shift+F6 (Выполняется на устройстве)
  • Преобразование SymLinks в настоящие пути (Native, BusyBox)
  • Информация об устройстве Ctrl+L: Модель, версия Android, Память устройства, Файловые системы
  • Размер диска в панели в зависимости от пути
  • Progress for Titlebar Icon
  • Autostart ADB server with option to kill-sever on exit
Android 7.0
FAQ

Скачать:
Последняя версия всегда на PlugRing (работают плагины по обновлению UpdateEx, Renewal)
А также все версии с историей на GitHub: https://github.com/dimfishr/FarDroid/releases
Доработки:
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

Latest post of the previous page:

Спасибо, хотя второй телефон коварен, у него (зачем-то) по умолчанию "ls -la" выводит файлы в цвете, поэтому режим Native показывает в панели всякую дичь типа "[1;34m..[0m" (это например вместо "..") и разумеется навигация не работает. Если переключится в busybox mode, там добавляется "--color=never" и все хорошо. Я не знаю стоит ли тут добавлять какую-то логику или для таких "экзотических" телефонов надо просто переключать режимы? И тогда пожелание: раз плагин знает модель телефона и отличает их, может он сможет хранить индиаидуальные настройки режима для каждого телефона в реестре или где там сейчас настройки плагинов хранятся?

p.s. подтверждаю баг с невозможностью удалить некоторые файлы при выборе в каталоге с больщим числом файлов, может какой-нибудь лог сделать по типу netbox чтобы туда писались команды для adb/shell и ответы, станет чуть понятнее что происходит, потому что ошибок никаких вроде нет, а файлы не удаляются.
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2 wrote: Thu 30 Apr, 2026 09:40подтверждаю баг с невозможностью удалить некоторые файлы
Как ни странно, но этот баг сегодня словил и я. причём, удаляя всего-навсего 5 файлов из одного каталога. Не удалился 8-гиговый файл с длинным названием. Вот сел изучать баг.
--color=never, в принципе, тоже можно добавить и проверять, что эта опция доступна shell-у, но, пока придётся переключаться на "безопасный режим". Настройку на телефон делать имхо излишне, т.к., например, у меня "безопасному" доступны далеко не все каталоги.

UPD: проблема затрагивала только файлы с длинными именами. ловите исправление в архиве.

кстати, про лог. хоть в rm и отправлялось некорректное имя файла, он всё равно отвечает OK, так что толку нет :)
Attachments
FarDroid_2026_04_30.7z
(50.87 KiB) Downloaded 10 times
Last edited by ZevB3K on Thu 30 Apr, 2026 12:41, edited 2 times in total.
User avatar
abelenki
Posts: 527
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 193 times
Been thanked: 24 times
Contact:

FARdroid — работа с файловой системой Android OS

Post by abelenki »

только что протестировал FarDroid 2026.04.30:

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

спасибо за исправление!
Last edited by abelenki on Thu 30 Apr, 2026 13:17, edited 1 time in total.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

ZevB3K wrote: Thu 30 Apr, 2026 12:09 --color=never, в принципе, тоже можно добавить и проверять, что эта опция доступна shell-у, но, пока придётся переключаться на "безопасный режим"
В моем случае один телефон работает только в "Native mode", а второй только в "Busybox mode", надо не забывать переключать режимы, поэтому я и спросил про такую настройку. Можно код скопировать от "ls -N" и проверить "ls --color=never" похожим образом.
ZevB3K wrote: Thu 30 Apr, 2026 12:09 кстати, про лог. хоть в rm и отправлялось некорректное имя файла, он всё равно отвечает OK
так в этом и польза лога - можно увидеть некорректное имя файла
ZevB3K wrote: Thu 30 Apr, 2026 12:09 ловите исправление в архиве.
спасибо, этот баг вроде исчез.
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2 wrote: Thu 30 Apr, 2026 18:17поэтому я и спросил про такую настройку
Запилил настройку, начал проверять, и оказалось, что на моём основном телефоне с LineageOS 23 ls-у вообще пофиг на --color=never. Он просто, когда видит опцию --color, всегда расцвечивает, хоть там =always хоть =never. Пришлось костыли придумывыать :(
Ещё в процессе обратил внимание на "[x] Отображать ссылки как директории": не очень понятно, почему она только для режима busybox - сделал её доступной и для "нативного" режима тоже.
Attachments
FarDroid_2026_05_04.7z
(51.01 KiB) Downloaded 7 times
Last edited by ZevB3K on Mon 04 May, 2026 14:56, edited 1 time in total.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

ZevB3K wrote: Mon 04 May, 2026 11:46 Пришлось костыли придумывыать
Костыль не сработал на втором телефоне - он теперь в обоих режимах показыает дичь с невырезанными цветами, работает только safe mode. Приаттачил вывод команды ls --la для примера.
ls.txt
(1.4 KiB) Downloaded 3 times
посмотрел в код, там одно условие блокирует другое:

Opt.UseLS_N = CheckLSOption(L"ls -Nla", hasEsc);
Opt.UseNoColor = hasEsc && CheckLSOption(L"ls -la --color=never", hasEsc);

сначала смотрим поддержку -N, ее нет, и цвета тоже нет, потому что это просто сообщение об ошибке, а потом почему-то опцию "--color=never" ставим в зависимость от наличия цвета на прошлом сообщении? оно ожидаемо н не работает, потому что hasEsc = false.
Last edited by Void2 on Tue 05 May, 2026 07:28, edited 2 times in total.
2useven10
Posts: 5488
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

FARdroid — работа с файловой системой Android OS

Post by 2useven10 »

Не проще ли будет всегда вырезать коды переключения цвета при парсинге вывода команды ls?
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2 wrote: Tue 05 May, 2026 06:22смотрим поддержку -N, ее нет
да. вот про это я забыл.
прикрепил исправление
Attachments
FarDroid_2026_05_05.7z
(52.8 KiB) Downloaded 10 times
Last edited by ZevB3K on Tue 05 May, 2026 12:11, edited 1 time in total.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

ZevB3K wrote: Tue 05 May, 2026 08:29 прикрепил исправление
Спасибо, теперь второй телефон показывает файлы в обоих режимах.
ZevB3K wrote: Mon 04 May, 2026 11:46 обратил внимание на "[x] Отображать ссылки как директории"
А вот с этой опцией какие-то странности. В прошлом сообщении я прикрепил листинг, где можно увидеть, что у меня файл charger это ссылка на /sbin/healthd, так вот: если опция выключена, то charger показывается каталогом (пустым, потому что прав нет), если опцию включить - элемент charger вообще пропадает из списка и это странно, но выглядит так как будто опция инвертирована. Если включить работу от рута, то при отключении опции опять пустой каталог, а при включении - появляется просто файл, который и есть /sbin/healthd (видимо теперь права позволяют).
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2,
У меня тоже наблюдается нечто подобное с /init, который по идее файл. И, кажется, такое было и в старом плагине. И я даже догадываюсь почему. Попробую сделать лучше.
Если не трудно, приложи, пожалуйста, 4 файла с результатами, разумеется, удалив чувствительную информацию.

Code: Select all

adb shell ls -la / >ls-la.txt
adb shell ls -laL / >ls-laL.txt
adb shell su -c "ls -la /" >ls-su-la.txt
adb shell su -c "ls -laL /" >ls-su-laL.txt
Только, у меня тут корень указан, измени каталог на тот, который нужно.

UPD: обновил архив в предыдущем посте, чтобы отображались линки, даже если на них не хватает прав
Last edited by ZevB3K on Tue 05 May, 2026 12:11, edited 1 time in total.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

ZevB3K wrote: Tue 05 May, 2026 10:59 отображались линки, даже если на них не хватает прав
В моем случае поведение не изменилось, тут надо подумать можно ли эту ситуацию как-то разрулить без усложнения плагина.

Еще вдогонку к пожеланиям (или багам): сейчас плагин показывает свободное место правильно только один раз - при старте, потом при любых копированиях или удалениях оно не меняется пока не выйти из плагина и не войти заново. По крайней мере у меня так на внешней карточке в каталоге /storage/...

Кроме поддержки busybox, можно еще поддержать toybox, тоже популярная штука в телефонах. Если на телефоне есть только toybox, то режим busybox не работает, но только потому что название busybox вбито в код. А так в toybox тоже есть ls и все прочие утилиты.
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2 wrote: Tue 05 May, 2026 16:14В моем случае поведение не изменилось
да, в этом случае вообще оригинальное поведение утилиты ls
Void2 wrote: Tue 05 May, 2026 16:14при любых копированиях или удалениях оно не меняется
да, но если это добавить, вернутся тормоза при чтнении каталога, которых не очень хотелось бы. это мне на подумать...
Void2 wrote: Tue 05 May, 2026 16:14toybox, то режим busybox
у меня на одном телефоне busybox, на другом toybox. Так вот, на первом, я не заметил разницы между режимами "нативный" и "busybox", а на втором выполнение команд само по себе работает через toybox, что, в принципе, логично, учитывая, что всё находящееся в bin является ссылками на toybox. Закрадывается сомнение в необходимости 3го режима как класс. Но я не сильно разбираюсь в этих нюансах...
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

ZevB3K wrote: Tue 05 May, 2026 16:40 если это добавить, вернутся тормоза при чтнении каталога, которых не очень хотелось бы
При аккуратной реализации, опрос места можно делать только при окончании пакетных операций удаления или заливки файлов на устройство, либо операций копирования/перемещения внутри, и это не должно прямо радикально скорость уронить, учитывая что при остальных операциях обновлять это поле вообще не надо. Ну или комбинацию клавиш сделать для явного обновления свободного места - это еще проще.
ZevB3K wrote: Tue 05 May, 2026 16:40 Закрадывается сомнение в необходимости 3го режима как класс.
Если на телефоне есть ссылка на ls (либо сам бинарь ls), то разницы между режимами может и не быть, но ведь есть случаи, когда бинаря ls нет и ссылок тоже нет, а есть только бинарь busybox (ну или toybox), и вот тогда нужен отдельный режим, ведь в нем команды идут через этот самый busybox, а не прямым вызовом. Моя идея не в том, чтобы добавить еще режим, а в том, чтобы помимо busybox поддержать еше и вызов через бинарь toybox в рамках уже имеющегося режима.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by Void2 »

Поймал падение фара в плагине при копировании файлов на телефон. Пока один раз, так что наблюдаю дальше.
Версия была 2026_05_05. На первый взгляд по коду - use after free на пути обработки ошибки, но нужно вопроизведение или хотя бы сценарий. Сигнатура падения приложена, потому что форум оказывается не может прятать их под спойлер.
far_crash.txt
(7.73 KiB) Downloaded 4 times
Last edited by Void2 on Sat 09 May, 2026 06:37, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 14580
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

FARdroid — работа с файловой системой Android OS

Post by John Doe »

Void2 wrote: Sat 09 May, 2026 06:34 потому что форум оказывается не может прятать их под спойлер.
До сих пор мог
https://t.me/FarManager — Telegram чат
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

FARdroid — работа с файловой системой Android OS

Post by ZevB3K »

Void2,
я сейчас в отъезде. исправлю, когда вернусь
Post Reply

Return to “Обсуждение плагинов”