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: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

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

Post by ZevB3K »

Latest post of the previous page:

Void2, ошибку закрытия плагина при невозможности зайти в каталог, вроде бы, исправил.
По crt и SimpleString.hpp всё правильно, это файлы из основной репы Far-а с моими доработками. Т.к. я их использую ещё для других плагинов, в этой репе они отсутствют. Можно взять из форка, бранч nocrt: https://github.com/qlost/FarManager/tree/nocrt
А первую ошибку про отвал устройства можешь описать подробнее? Какие действия нужно сделать, чтобы повторить мне её у себя?
Attachments
FarDroid_2026_04_27.7z
(50.88 KiB) Downloaded 7 times
Last edited by ZevB3K on Mon 27 Apr, 2026 16:42, 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 »

заметил неприятную ошибку - она имеется в версии 2026.4.24.0 и никуда не исчезла в 2026.4.27.0:
  1. есть папка с 10+ папками и 50+ файлами внутри.
  2. если в этой папке выделить несколько десятков файлов и попытаться их удалить, несколько файлов (4-5 из 30-40) не удаляются (просто остаются в папке - никаких ошибок не выдаёт).
  3. если потом попытаться удалить каждый из этих оставшихся файлов индивидуально (без выделения) - файлы снова невозможно удалить.
  4. если попытаться удалить всю папку (которая содержит вложенные папки и эти неудалённые файлы), папка удаляется без проблем.
  5. я думаю, вы сможете это повторить на любой папке с большим количеством файлов.
Last edited by abelenki on Mon 27 Apr, 2026 12:55, edited 4 times 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 27 Apr, 2026 12:02 ошибку про отвал устройства можешь описать подробнее
У меня выглядит так, если пометить и начать копирование большого числа файлов (скажем фото) с телефона на комп и выдернуть провод из телефона (в моем случае разъем не надежный и его можно просто неудачно задеть), то вылетает ошибка, а потом если нажать enter, то в старой версии оставался каталог с файлами, просто снималась пометка с уже скопированных, и если поправить провод обратно, достаточно было продолжить копирование, а в новой версии 27.04 каталог очищается и надо заново перечитывать его и заново помечать файлы чтобы продолжить копирование. В версии 26.04 плагин выходит в случае ошибки в far и надо было еще и заново заходить в сам плагин.

p.s. спасибо за инструкции по сборке, что-то собралось, но размер почему-то больше вашего, разбираюсь что туда еще пролезло лишнего из crt от msvc.
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, лови содержимое каталога .vscode, который лежит в корне репы. В принципе, все настройки компиляции - в __build.cmd, но я его сделал универсальным x86/x64 debug/release для разработки в VSCode.
Что подавать ему на вход в аргументах - можешь понять из tasks.json. А как называются конфиги, которые приходят в батник 3м аргументом - в c_cpp_properties.json

А, да! Ещё же нужно собрать \FarManager\plugins\common\libCRT??.lib
её я собираю батником

Code: Select all

call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
SET CPU=AMD64
SET APPVER=6.0

cd plugins
nmake /f makefile_all_vc libcrt INSTALL=..\_build\plugins CPU=AMD64 1>..\logs\build_plugins.log 2>&1
для x86, если нужно будет - разберёшься как поправить
Attachments
.vscode.7z
(2.44 KiB) Downloaded 1 time
Last edited by ZevB3K on Mon 27 Apr, 2026 14:07, edited 1 time in total.
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: Mon 27 Apr, 2026 13:44 У меня выглядит так
прикрепил обнову в прошлое сообщение с архивом - проверь на нём.
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

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

Post by Void2 »

На обновленной версии 27.04 при обрыве соединения плагин после ошибки показывает пустой каталог, так что надо перечитывать его заново и теряются выделенные файлы. Но в фар уже не вылетает.
Нашел еще ошибку в новом плагине (в старом все работает), при попытке зайти на внешнюю карточку "ls -la" там выдает вот такое по adb shell:
0|:/storage/B2CB-C66C $ ls -la
ls: ./.android_secure: Permission denied
total 578560
drwxrwx--x 22 root sdcard_rw 131072 2026-04-19 17:51 .
drwxr-xr-x 6 root root 120 2026-04-19 17:51 ..
...и далее файлы как обычно...

поэтому зайти в этот каталог в плагине нельзя, вываливается окно с ошибкой "ls: /storage/B2CB-C66C//.android_secure: Permission denied"
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, воу-воу-воу, давай по-порядку :)
я у себя смог воспроизвести ошибку и пустой каталог и удалось добиться, чтобы после передёргивания кабеля в итоге был НЕпустой каталог и остаток файлов оставался выделен. Значит, у тебя это не сработало... странно, покопаю ещё.
А вот то, что ты пишешь дальше про внешнюю карточку и adb shell что-то вообще непонятно :)
С одной стороны видим ошибку (и интересности в виде "0|:........")
с другой "total ....".
На моих подопытных всё несколько иначе. Давай пиши в личку, что за тел, прошивка, будем там с тобой по шагам дебажить.
ZevB3K
Posts: 24
Joined: Sat 21 Feb, 2026 12:25
Has thanked: 3 times
Been thanked: 8 times

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

Post by ZevB3K »

abelenki wrote: Mon 27 Apr, 2026 12:54 заметил неприятную ошибку
прошу уточнить: этот каталог находится на /sdcard или где-то в системе? ну, т.е. у пользователя полные права? работа под root или нет? есть ли линки среди удаляемых файлов?
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 »

ZevB3K wrote: Tue 28 Apr, 2026 08:47 прошу уточнить: этот каталог находится на /sdcard или где-то в системе?
/sdcard/названиекаталога
ну, т.е. у пользователя полные права?
да.
работа под root или нет?
без root (см. настройки плагина под спойлером).
есть ли линки среди удаляемых файлов?
нет.

Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

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

Post by Void2 »

ZevB3K wrote: Mon 27 Apr, 2026 21:13 А вот то, что ты пишешь дальше про внешнюю карточку и adb shell что-то вообще непонятно
Так вроде ж ".android_secure" это же штатная папка для android, телефон у меня обычный samsung, прошивка штатная, андроид 10. Вот что гугл пишет про ошибку:

Ну то есть надо просто игнорировать ошибку как это и делала прошлая версия плагина (видимо вырезая весь текст до слова total при листинге). Команда "ls -la" сыпется, потому что она хочет сделать fstat на папку (ну надо же inode прочесть, дату/время и т.д.), а прав нет. Если делать просто "ls" ошибки нет. И я подозреваю что подобная история может быть вообще говоря в любом месте, где прав будет не хватать, если листинг делать через "ls -la".
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 28 Apr, 2026 15:58.android_secure
знаю я этот каталог. у меня он виден только на одном самом старом телефоне с 4.0.4. Но там установлен superuser и adb shell работает сразу под рутом. я не помню, как перейти на обычного юзера.
В общем, выполни с компа эти команды и пришли мне файлы с результатами

Code: Select all

adb shell ls -Nla /sdcard/ >lsnla.txt
adb shell ls -la /sdcard/ >lsla.txt
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

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

Post by Void2 »

ZevB3K wrote: Tue 28 Apr, 2026 17:55 я не помню, как перейти на обычного юзера.
насколько я помню андроид - "su 1000" например.
ZevB3K wrote: Tue 28 Apr, 2026 17:55 adb shell ls -Nla /sdcard/ >lsnla.txt
ls: Unknown option Nla (see "ls --help"), вообще опции N нет
ZevB3K wrote: Tue 28 Apr, 2026 17:55 adb shell ls -la /sdcard/ >lsla.txt
С папкой sdcard проблем нет, проблема с /storage/B2CB-C66C/, и перенаправление вывода в файл не учитывает, что ошибка access denied пишется в stderr, а не в stdout, так что в файле не будет этой ошибки. Но если вызвать как "adb shell ls -la /storage/B2CB-C66C/ >file 2>&1", то выглядит так (убрал хвост списка с приватными данными):

Да, забыл отметить, что проблема возникает только в "Native mode", если поставить "Safe mode" - в этот же каталог заходит без проблем. (Busybox mode у меня не работает из-за отсутствия busybox)

p.s. физически папка .android_secure на карточке есть, если карточку вынуть из телефона и прочитать на компе - папка видна.
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 28 Apr, 2026 19:032>&1
Спасибо! Приятно общаться с грамотным тестировщиком :)
и вспоминается статья, которая попалась мне в начале переписывания плагина

воопсчим, придётся учесть и эту реализацию :)

Void2, Готово. Отображение содержимого каталога, жертвуя выводом ошибок при его листинге. Может быть, позже сделаем что-то более элегантное.
Attachments
FarDroid_2026_04_28.7z
(50.72 KiB) Downloaded 13 times
Last edited by ZevB3K on Tue 28 Apr, 2026 21:53, edited 2 times 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 28 Apr, 2026 20:58 Спасибо! Приятно общаться с грамотным тестировщиком
Взаимно :)
Я снова с багами, это же был только первый телефон, а у меня есть еще и второй, более старый :)
Короче, при попытке выполнить на нем "ls -N", он возвращает не "unknown option", а "invalid option", и логика использования Opt.UseLS_N ломается - в режиме "Native mode" не отображается вообше ничего (в Safe Mode все работает).

ну вот такие реализации уникальные, причем тут даже busybox есть, но вот именно опции N в нем нет.

p.s. баг с .android_secure ушел, спасибо.
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: Wed 29 Apr, 2026 10:22Opt.UseLS_N
заморочился и сделал более интеллектуальную проверку этой опции.
Attachments
FarDroid_2026_04_29.7z
(50.84 KiB) Downloaded 13 times
Void2
Posts: 31
Joined: Sat 20 Jun, 2009 15:56
Been thanked: 8 times

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

Post by Void2 »

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

p.s. подтверждаю баг с невозможностью удалить некоторые файлы при выборе в каталоге с больщим числом файлов, может какой-нибудь лог сделать по типу netbox чтобы туда писались команды для adb/shell и ответы, станет чуть понятнее что происходит, потому что ошибок никаких вроде нет, а файлы не удаляются.
Post Reply

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