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
Доработки:
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Latest post of the previous page:

Void2,
я сейчас в отъезде. исправлю, когда вернусь
Void2
Posts: 40
Joined: Sat 20 Jun, 2009 15:56
Has thanked: 1 time
Been thanked: 8 times

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

Post by Void2 »

Еще несколько багов по результатам эксплуатации:
  1. Если копировать файл с телефона на комп, и на компе этот файл уже есть и он имеет атрибут read-only, то вместо обычного диалога с преупрждением фара что файл read-only, вылезает ошибка access denied и все обрывается.
  2. Если копировать файл с компа на телефон, и на телефоне такой файл уже есть, то почему-то нет диалога с вопросом о перезаписи, файл молча перезаписывается.
  3. Самый неприятный баг: если перезаписывать файл на телефоне с компа, то почему-то owner/group не остаются теми же, что и были на файле до перезаписи, а меняются на owner/group от adb (или кто там реально файл пишет). Да и права доступа тоже почему-то изменяются на "rw-r--r--", какими бы они не были иначально. Для sdcard и "внутреннкй памяти" это все не так важно, а вот перезапись файлов в других местах все ломает. Я еще не проверял selinux_context, но может и он ломается тоже при перезаписи.
  4. Если на панели телефона выделить N файлов, то при копировании прогресс показывается как .../N+1, т.е. число объектов на единицу большее, и когда очередь доходит до N, прогресс просто проскакивает (не обновляется).
Last edited by Void2 on Sun 24 May, 2026 14:53, edited 1 time in total.
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Провёл ревизию выделения памяти, корректное количество копируемых файлов, небольшая оптимизация.
Attachments
FarDroid_2026_05_25.7z
(52.57 KiB) Downloaded 9 times
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Void2 wrote: Sat 09 May, 2026 06:34 Поймал падение фара в плагине при копировании файлов на телефон. Пока один раз, так что наблюдаю дальше.
Версия была 2026_05_05. На первый взгляд по коду - use after free на пути обработки ошибки, но нужно вопроизведение или хотя бы сценарий. Сигнатура падения приложена, потому что форум оказывается не может прятать их под спойлер.
far_crash.txt
исправил эту ошибку
+восстановил авторов в VersionInfo
+доработал снятие выделения с файлов при копировании. но там ещё есть что доделать.
Void2 wrote: Wed 20 May, 2026 08:11Еще несколько багов:
  1. сделал, но не стал особо заморачиваться.
  2. понятно. это когда пишем не на sdcard (в следующий раз прошу указывать такие нюансы). Похоже, STAT не отрабатывает, нули возвращает.
  3. пока лень делать. кажется, так же было и "до меня"?..
  4. сделал вчера.
Attachments
FarDroid_2026_05_26.7z
(52.61 KiB) Downloaded 3 times
Last edited by ZevB3K on Tue 26 May, 2026 21:41, edited 4 times in total.
Void2
Posts: 40
Joined: Sat 20 Jun, 2009 15:56
Has thanked: 1 time
Been thanked: 8 times

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

Post by Void2 »

Спасибо, часть багов ушла. Баг с несохранением owner/group все же важный, из-за него невозможно ничего копировать во всякие /data, потому что все ломается. Старую версию плагина еще не проверял, но привык что total commander на телефоне копирует с сохранением всех атрибутов - это очень удобно.

Еще баги на версии 2026_05_26.
  1. При попытке нажать f3/f4 на любом файле на телефоне, он скачивается, но ничего не происходит, а должен открываться вьюер или редактор с файлом во временной папке.
  2. Если нажать на любом файле на телефоне ctrl-a, и потом выпадающий список для owner/group - там какая-то дичь вместо валидных имен или хотя бы идентификаторов (у меня в списке: root, ?, 0; и это для владельца sdxard_rw).
  3. Неверный раздел для определения свободного места. Захожу в каталог /storage/B2CB-C66C, а место показывает от /. Проверял по 'df -h' - цифры совпадают. Вывод 'df -h':

    у меня показывается 21М свободно, а должно 3.5G. Ну и как пожелание, сделать чтобы место обновлялось хотя бы по какой-то явной команде, типа Ctrl-R, раз обновлять после каждой операции накладно.
  4. Зайти на телефон и нажать Ctrl-L. Там в конце списка будут разделы с местом, они не влезают на экран по высоте, но никакого способа их пролистать нет, разве что можно свернуть часть информации сверху, но и после этого полный список разделов не влезает, а хотелось бы его видеть.
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Void2,
  1. это я хотел сделать красиво снятие выделения с файлов, а сломал F3/F4, оказывается. Приложил тестовую (не коммитил на гитхаб ещё) версию.
  2. это история, сам фар ей занимается. Её надо просто очистить разок через Del.
  3. Знаю, даже есть TODO в исходниках.
  4. Знаю, даже попробовал сократить этот список. Можешь приложить файлик с полным результатом df?
    За скроллером - это к фару.
    Про выставление chmod и chown для копируемых файлов я себе написал в TODO и все остальные пожелания тоже.
Attachments
FarDroid_2026_05_27.7z
(52.62 KiB) Downloaded 14 times
Last edited by ZevB3K on Wed 27 May, 2026 16:16, edited 1 time in total.
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Вроде бы довёл до ума снятие выделения при копировании и исправил баги при перемещении файлов. Но мог что-то и поломать, поэтому проверяйте!
Исправлена ошибка при сохранении отредактированного на устройстве файла.
Провёл небольшую оптимизацию кода.
Attachments
FarDroid_2026_05_29.7z
(48.08 KiB) Downloaded 4 times
Last edited by ZevB3K on Fri 29 May, 2026 15:06, edited 1 time in total.
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Void2 wrote: Wed 20 May, 2026 08:11Если копировать файл с компа на телефон, и на телефоне такой файл уже есть, то почему-то нет диалога с вопросом о перезаписи, файл молча перезаписывается.
Про это (и про 3й пункт)...
В общем, в старом плагине при копировании файлов на телефон для каждого копируемого файла происходило выполнение ls -lad и парсинг его результата, т.о. проверялось наличие файла и определялись гранты и владелец. Кстати, похоже, поэтому копирование и тормозное.
Я у себя попытался заюзать STAT (adb-шный, а не никсовый): на /sdcard он работает, а там, куда ему не хватает прав, возвращает нули.
Вот бы была возможность гонять sync-команды типа этого STAT или LIST под рутом. Есть такое, экспериментирую.
И терять в скорости копирования (ls, парсинг, бррр...) пока тоже не готов.
Знаю-знаю, кто-то скажет "сделай нам галочку в настройках" - это на крайний случай.
Last edited by ZevB3K on Fri 29 May, 2026 15:27, edited 2 times in total.
Void2
Posts: 40
Joined: Sat 20 Jun, 2009 15:56
Has thanked: 1 time
Been thanked: 8 times

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

Post by Void2 »

Спасибо, ошибки с f3/f4 ушли, при копировании пока замечена только странная ошибка, что неудается скопировать файл /bin/sdcard - acess denied, видимо потому что имя совпадает с sdcard и стоит опция копировать через sdcard?
Вывод df -h:

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

Еще мелочи: в safe mode нельзя получить владельца/группу, поэтому эти поля в диалоге можно отключить, а вот при выводе в диалоге по ctrl-a имени файла его видимо надо обрезать, на слишком длинных именах диалог разносит.
ZevB3K wrote: Fri 29 May, 2026 15:13 Я у себя попытался заюзать STAT (adb-шный, а не никсовый): на /sdcard он работает, а там, куда ему не хватает прав, возвращает нули.
может сделть ход конем и файл обнулять через ftruncate а потом дописывать? если права есть - то это допустимо, и владелец/группа останутся теми же что и были.
Last edited by Void2 on Fri 29 May, 2026 19:11, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 11467
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 272 times
Been thanked: 417 times

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

Post by HaRT »

Void2 wrote: Fri 29 May, 2026 19:08 на слишком длинных именах диалог разносит
Вы так говорите, будто отображать целиком — это что-то плохое. Или разносит шире, чем окно Фара?
Фар есть инструмент, а не нянька. © 2009 DrKnS
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Void2 wrote: Fri 29 May, 2026 19:08
  1. неудается скопировать файл /bin/sdcard
  2. df -h
  3. safe mode нельзя получить владельца/группу, поэтому эти поля в диалоге можно отключить
  4. по ctrl-a имени файла его видимо надо обрезать
  5. через ftruncate
1. посмотрю;
2. я просил df без -h :) и нужен скрин под спойлер в текстовом виде;
3. можно, если прошивка умеет во 2ю версию команд, для более ранних отключил; в "безопасном" увидим uid/gid, это норма, chown умеет работать и с циферками;
4. соглашусь с HaRT, нужен скрин под спойлер в текстовом виде :)
5. чем больше утилит мы юзаем в плагине, тем больше несовместимости плодим.
Attachments
FarDroid_2026_05_30.7z
(48.2 KiB) Downloaded 12 times
Void2
Posts: 40
Joined: Sat 20 Jun, 2009 15:56
Has thanked: 1 time
Been thanked: 8 times

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

Post by Void2 »

ZevB3K wrote: Fri 29 May, 2026 23:06 я просил df без -h и нужен скрин под спойлер в текстовом виде;
Я не знаю как положить текстовый скриншот, у него в спойлере съезжает разметка (табуляции, и пр. спец символы?), вобщем добавил аттачем.
df3.txt
(1.78 KiB) Downloaded 1 time
HaRT wrote: Fri 29 May, 2026 19:23 Или разносит шире, чем окно Фара?
Именно. В ФАРе вообще с очень длинными именами какие-то странности при отображении, даже безотносительно плагина: в обчыном диалоге атрибутов имя просто режется (без многоточия!), в диалоге копирования показывается начало имени, в статусе редактора - конец имени. Я не смог увидеть никакой логики... Ну а конкретно в fardroid диалоге прав - имя выводится "как есть" и разносит диалог шире экрана. Может эту проблему надо решать в самом ФАРе при определении допустимых границ диалога, а не в каждом плагине, я не знаю. Добавил аттачем.
attr2.txt
(737 Bytes) Downloaded 1 time
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

Void2 wrote: Sat 30 May, 2026 08:14Я не знаю как положить текстовый скриншот
"код" внутри "спойлера"
Void2 wrote: Sat 30 May, 2026 08:14вобщем добавил аттачем
так даже лучше!
Меня тоже бесило обилие строк, которые выдаёт df на современных android-ах. Я в плагине не добавляю те, в которых встречается символ @. Возможно, у тебя окно фара по вертикали насколько маленькое, что даже отфильтрованный список не влезает. Я протестил у себя твой файлик - всё вполне прилично.
Void2 wrote: Sat 30 May, 2026 08:14в обчыном диалоге атрибутов имя просто режется (без многоточия!)

Void2 wrote: Sat 30 May, 2026 08:14attr2.txt
А какое полное имя на самом деле у этого файла?
Урезание добавлю так же как в диалоге копирования. Этот диалог писал раньше и фигачил код "не приходя в сознание". Теперь будем дорабатывать напильником.
Last edited by ZevB3K on Sat 30 May, 2026 10:56, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 11467
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 272 times
Been thanked: 417 times

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

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
ZevB3K
Posts: 34
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 5 times
Been thanked: 11 times

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

Post by ZevB3K »

[+] установка прав, владельца и группы после копирования файла на телефон
(при наличии root)
Attachments
FarDroid_2026_06_03.7z
(48.56 KiB) Downloaded 10 times
Void2
Posts: 40
Joined: Sat 20 Jun, 2009 15:56
Has thanked: 1 time
Been thanked: 8 times

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

Post by Void2 »

Спасибо!
Починилось: копирование файла /bin/sdcard, разнос диалога с атрибутами от длинного имени.
Не починилось (пока): определение количества сводобного места на карте при работе от рута, список разделов не влезает в панель по Ctrl+L (скриншот приложен), владелец/группа и права при перезаписи файла остаются неверными, предупреждения о перезаписи файла на телефоне нет.


Воспроизведение для перезаписи на телефоне с рутом, просто беру файл из /data/data/any app name/any file, копирую на комп, а потом тут же обратно на телефон - права неверные, владелец рут вместо uid приложения.
Post Reply

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