Доступ к файлам
Способ доступа к файлам зависит от версии как Android, так и FBReader.
- FBReader до версии 3.8: Программа обращается к файлам напрямую на всех Android-устройствах.
- FBReader 3.8 и новее: По требованию Google Play программа теперь использует Storage Access Framework (SAF) на Android 10 и новее, на более старых устройствах всё работает по-прежнему.
Переход на SAF привёл к некоторым изменениям:
- Запрос разрешений: FBReader должен явно запросить у пользователя права доступа к папке или файлу, которые будут использованы. При прямом доступе к файловой системе это не требовалось.
- Ограниченный доступ: SAF ограничивает доступ к файлам и папкам, это затрагивает возможности FBReader читать и сохранять файлы. Например, хотя файлы в папке Download можно читать, Android не позволяет дать права на всю папку, из соображений безопасности.
- Скорость работы: SAF работает медленнее, чем прямой доступ, это иногда может быть заметно пользователям.
Если у вас есть проблемы с открытием книг в FBReader на Android 10 или новее, это может быть связано с ограничением доступа к файлам. Начиная с версии 3.8, FBReader использует новый способ доступа к файлам, разработанный Google. Он может быть выключен по умолчанию на некоторых устройствах.
Чтобы включить доступ к файлам, следуйте инструкции:
- Откройте приложение Настройки на вашем устройстве.
Отыщите в нём Доступ ко всем файлам, и зайдите в этот раздел.
Если поиск не работает, вероятно, на вашем устройстве раздел называется чуть иначе. Обычно он находится в Настройки→Приложения→Специальный доступ. На некоторых устройствах раздел расположен в Настройки→Конфиденциальность→Диспетчер разрешений и называется Файлы и медиаконтент.
Если вы всё ещё не можете его обнаружить, поищите в сети информацию про ваше конкретное устройство.
- Нажмите на кнопку с тремя точками в правом верхнем углу, и выберите Показать системные процессы.
- Отыщите в списке Внешний накопитель и разрешите ему доступ к файлам.
- Перезапустите устройство, чтобы изменения наверняка вступили в силу.






Всё готово, Android теперь сможет давать разрешения вашим программам, включая и FBReader.
На некоторых устройствах FBReader 3.8.* не открывает и не показывает в библиотеке файлы в формате FB2, при этом со всеми остальными форматами работает нормально. Эта проблема связана с использованием Storage Access Framework (SAF), который может не давать программного доступа к файлам, формата которых он не знает. К сожалению, формат FB2 Android'у неизвестен. Проблема проявляется не на всех устройствах, и мы пока не понимаем, как её можно исправить.
Мы заняты поиском решения, которое сработает на всех устройствах. А пока у вас есть два способа обойти проблему:
Заархивируйте ваши файлы FB2
Вы можете положить файлы FB2 внутрь ZIP-архива. Каждый в отдельный, или по несколько файлов в архиве, как вам удобнее. Если название архива заканчивается на
.zip
, SAF распознает его, а FBReader сумеет открыть из него книги. FBReader поймёт, что это та же книга, что была раньше, так что любые закладки, которые вы делали в прошлых версиях, никуда не денутся.Или вернитесь к FBReader 3.7.7
Вы можете откатить программу до версии 3.7.7, пакеты доступны на нашем сайте. Эта версия не использует SAF, и проблема её не затрагивает. Не забудьте отключить автоматические обновления, чтобы Android не установил вам снова FBReader 3.8. Сразу скажем: нет, увы, мы не можем отказаться от SAF в новых версиях, это требование Google Play.
Важное замечание: если вы хотите вернуться к 3.7.7, то перед установкой пакета вам придётся удалить 3.8. Android не позволяет устанавливать программы поверх более новой версии.
Мы благодарны вам за понимание и терпение, пока мы ищем лучшее решение проблемы.
В FBReader 3.8 и более поздних версиях этот предупреждающий знак указывает на то, что книга, по-видимому, находится на вашем устройстве, но у приложения нет доступа к файлу. Эту проблему можно решить одним из следующих способов:
- Выбор файла вручную: нажмите на книгу и найдите соответствующий файл. Когда вы выбираете файл из файловой системы, вы предоставляете FBReader разрешение на его чтение.
- Добавление папки в путь библиотеки: перейдите в Настройки → Библиотека и добавьте папку, в которой хранится книга. Это предоставит FBReader доступ ко всем файлам в этой папке, включая будущие добавления. Однако обратите внимание, что не все папки могут быть добавлены из-за ограничений безопасности Android.
- Перемещение файлов книг в доступную папку: если папку невозможно добавить в путь библиотеки, вы можете переместить книги в другую папку. Например, папка Download часто недоступна для добавления, но вы можете создать подпапку, скажем, Download/Books, и перенести в неё файлы. После перемещения нажмите Пересканировать в меню библиотеки, чтобы обновить список книг. FBReader автоматически свяжет перемещенные файлы с правильными книгами.