Гид по технологиям

Заставляем Android-приложения видеть и писать на внешнее хранилище в Chromebook

• 6 min read • How-to • Обновлено 30 Nov 2025
Android: доступ к SD‑карте на Chromebook
Android: доступ к SD‑карте на Chromebook

Как заставить Android-приложения видеть внешнее хранилище на Chromebook

Важное: эти привязки влияют только на видимость папок в Android среде (ARC). Chrome OS будет по‑прежнему видеть внешний диск по‑отдельности и не покажет содержимое “Bound”.

Зачем это работает и краткая техническая модель

Коротко: мы используем bind-монты — механизм ядра Linux, который позволяет «прикрепить» одну директорию к другой точке в файловой иерархии. Android на Chrome OS видит только определённые пути (эмулированный sdcard в /run/arc/sdcard/…), поэтому если связать папку с внешнего носителя и нужную точку в emulated/0/Download, приложения увидят файлы, как если бы они хранились во внутренней папке.

Определения в одну строку:

  • Bind‑монт: способ отобразить одну директорию в другую без копирования файлов.
  • ARC: Android Runtime for Chrome — среда, где запускаются Android‑приложения на Chrome OS.

Ключевая мысль: мы не перемещаем файлы — мы создаём ссылку на них в дереве, доступном Android.

Что нужно знать заранее

  • Требуется root через Crosh (sudo su).
  • Привязки не сохраняются после перезагрузки — их нужно заново выполнить или автоматизировать (см. разделы ниже).
  • Некоторые устаревшие или плохо поддерживаемые Android‑приложения могут видеть файлы, но не иметь права их открыть/изменить.
  • Путь по умолчанию к внешнему диску в Chrome OS: /media/removable/UNTITLED (если диск переименован — используйте фактическое имя).

Шаг 1 — подготовка папок

  1. Откройте приложение «Файлы» Chrome OS и перейдите в Downloads.
  2. Создайте новую папку и назовите её Bound (можете выбрать любое имя, но подставляйте это имя в командах ниже).

Создание папки Bound в Downloads

  1. На внешнем носителе создайте папку с файлами, которые хотите открыть в Android (например, Screenshots).

Папка Screenshots на внешнем носителе

Совет: используйте понятные имена и избегайте пробелов — это упростит составление команд.

Шаг 2 — открыть root shell и выполнить bind

  1. Нажмите Ctrl+Alt+T, чтобы открыть Crosh.
  2. Введите:
shell
  1. Затем:
sudo su

После ввода пароля у вас будет root‑оболочка.

Crosh и root shell

  1. Выполните серию команд bind (подставьте свои имена):
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/default/emulated/0/Download/Bound
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/read/emulated/0/Download/Bound
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/write/emulated/0/Download/Bound

Пояснение: мы монтируем одну и ту же внешнюю папку в трёх местах, которые Android использует для разных режимов доступа (default/read/write). Это повышает вероятность корректной работы приложений.

Команды bind-монта

Если у вас другое имя диска или папки, замените UNTITLED и Screenshots на реальные значения.

Пример скрипта для повторного исполнения

Если вам нужно часто восстанавливать привязки, создайте файл /mnt/stateful_partition/arc-bind.sh с таким содержимым (путь и права могут отличаться в зависимости от устройства):

#!/bin/sh
# Пример: запускать вручную после загрузки
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/default/emulated/0/Download/Bound
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/read/emulated/0/Download/Bound
mount --bind /media/removable/UNTITLED/Screenshots /run/arc/sdcard/write/emulated/0/Download/Bound

Сделайте его исполняемым:

chmod +x /mnt/stateful_partition/arc-bind.sh

Запускайте скрипт из root‑оболочки после каждой перезагрузки:

sudo /mnt/stateful_partition/arc-bind.sh

Важно: автоматизация автозапуска требует дополнительных прав или изменения системных конфигураций, что может потребовать включения режима разработчика. Действуйте осторожно.

Шаг 3 — проверка и типичные проблемы

Ожидаемый результат: Android‑приложения (например, Галерея, файловые менеджеры) увидят папку Download/Bound и смогут открывать/сохранять файлы в неё.

Если приложение видит файлы, но не может открыть или изменить их:

  • Проверьте права доступа на исходной папке на внешнем диске (chmod/chown не всегда применимы на FAT/ExFAT).
  • Попробуйте другое приложение (некоторые старые приложения не поддерживают внешние файловые провайдеры).
  • Убедитесь, что не включены ограничения безопасности приложения (Scoped Storage в новых версиях Android).

Если привязка пропадает после сна/пробуждения:

  • Переподключите скрипт вручную.
  • Проверьте логи dmesg и syslog (при наличии) для ошибок обращения к внешнему носителю.

Если диск называется иначе, можно найти имя так:

ls /media/removable

Это покажет список подключенных устройств и их меток.

Когда это не сработает — примеры и ограничения

  • Приложения, использующие собственные движки чтения файлов (не через стандартные Android‑интерфейсы), могут не иметь доступа.
  • Формат файловой системы: на FAT/ExFAT нет Unix‑прав — некоторые приложения ожидают POSIX‑совместимые права.
  • Ограничения Scoped Storage в новых версиях Android могут блокировать запись в неожиданных сценариях.
  • Привязки не выживают после перезагрузки без дополнительных действий.

Альтернативные подходы

  • Использовать облачные хранилища (Google Drive, Dropbox) и синхронизировать нужные папки.
  • Копировать нужные файлы во внутренний Download при необходимости (ручной перенос).
  • Использовать Android‑приложение‑файловый менеджер с поддержкой внешних накопителей и системных API.
  • Дождаться официальной поддержки SD‑карт Android на Chrome OS (в разработке у Google).

Проверочный список перед началом (Role‑based checklists)

Для пользователя:

  • Убедитесь, что у вас есть резервная копия важных данных.
  • Проверьте имя внешнего диска через /media/removable.
  • Создайте папку Bound в Downloads.

Для администратора или технического специалиста:

  • Проверьте, можно ли получить root через Crosh на конкретном устройстве.
  • Подготовьте скрипт для восстановления bind (и документируйте шаги).

Мини‑методология: быстрый SOP

  1. Создать папку в Downloads (Bound).
  2. Создать папку на внешнем диске (например, Screenshots).
  3. Открыть Crosh → shell → sudo su.
  4. Выполнить три команды mount –bind, заменив пути.
  5. Проверить в Android‑приложении.
  6. Если нужно — сохранить команды в исполняемый скрипт.

Критерии приёмки:

  • Android‑приложение видит папку Bound в /Download.
  • Приложение может открыть и сохранить файл (если ожидается запись).
  • Поведение стабильно после сна (по возможности) и приемлемо для пользователя.

Безопасность и приватность

  • Bind‑монт не меняет содержимого файлов, но изменяет их видимость для Android‑среды. Любое приложение с доступом к папке сможет читать/записывать эти файлы.
  • Оценивайте риск запуска неизвестных приложений, когда даёте доступ к внешним данным.
  • На дисках с чувствительными данными рассмотрите шифрование перед подключением.

Совместимость и советы по миграции

  • Поддерживается большинством Chromebook с Android Runtime, но конкретные пути могут немного различаться между сборками системы.
  • Если Chrome OS обновляется, поведение ARC и пути к emulated/0 могут измениться — проверяйте и корректируйте скрипты.

Отладка и логирование — короткий чеклист

  1. Выполните ls -l целевой папки на внешнем диске.
  2. Проверьте, существуют ли точки монтирования в /run/arc/sdcard/*.
  3. Перезапустите Android‑приложение или устройство при проблемах с кешем.
  4. Посмотрите системные сообщения при помощи dmesg (при наличии прав).

Примеры использования и сценарии

  • Хранение большого архива фотографий на SD и редактирование их Android‑приложением.
  • Совместное использование папки с экспортами из младшего устройства (камера) и Android‑приложениями для быстрой обработки.

PicSayPro показывает содержимое Bound

Изображение: пример приложения PicSayPro, показывающего содержимое папки Bound после привязки.

Заключение

Bind‑монты — практичный обходной путь, если нужно, чтобы Android‑приложения работали с внешним накопителем на Chromebook. Это не идеальное решение: требуется root, привязки не сохраняются автоматически и часть приложений может вести себя нестабильно. Тем не менее, для многих задач это самое быстрое и гибкое решение до появления полноценной поддержки SD‑карт в Android на Chrome OS.

Краткое руководство для начинающих:

  • Создайте папку Bound в Downloads.
  • Создайте папку на SD‑карте.
  • Выполните три команды mount –bind в root‑shell Crosh.
  • При необходимости автоматизируйте выполнение команд с учётом рисков.

Important: перед любыми изменениями делайте резервную копию данных и осторожно подходите к автоматизации, которая требует режима разработчика.

Сводка:

  • Bind-монты дают Android доступ к внешним файлам через эмулированный sdcard.
  • Решение работает хорошо в большинстве случаев, но имеет ограничения по совместимости и устойчивости после перезагрузки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро