Создайте что-то вроде соединений NTFS в Android 2.2

Мне интересно, можете ли вы создавать точки соединения на устройстве Android (v2.2) так же, как на компьютере с Windows. По сути, я хочу переместить данные из папки /data во внутренней памяти на свою SD-карту, так как моя внутренняя память почти заполнена (из-за Orbot) и у меня много места на SD-карте. Я уже переместил все свои приложения на карту, но видимо файлы /data все еще хранятся в памяти.

Я использую читалку PRS-T1 с цианогенным доступом (очень мало памяти). Есть ли способ создать точки соединения (или аналогичные) с помощью приложения или командной строки, чтобы я мог перемещать эти файлы /data на карту, не создавая никаких проблем?

Ответы (1)

Я думаю, вам может понадобиться символическая ссылка .

Вы можете создать их в любой хорошей системе Linux, используя

ln -s <link_target> <link_name>

например

ln -s /data/app /mnt/sdcard/data/app

или (находясь в /mnt/sdcard/data)

ln -s /data/app app

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

Я никогда не извлекаю SD-карту, так что, думаю, все в порядке. Могу ли я сделать это с помощью приложения Terminal Emulator на моем устройстве?
Да, просто используйте приложение терминала. PS: Это вопрос используемой файловой системы. (Практически) все родные файловые системы Linux и Android поддерживают символические ссылки. Исключениями являются FAT32 и RFS на базе FAT от Samsung. Старый Android до версии 2.2 или 2.3 использовал JFFS2 в качестве файловой системы по умолчанию для /data, более поздние версии используют ext4. Однако некоторые производители отклонились от значения по умолчанию (например, Samsung использует (d) RFS вместо JFFS2). Читатель Sony, скорее всего, использует JFFS2, который позволяет использовать программные ссылки.
Я новичок в этом ... вам нужно сначала скопировать файлы в data/app на SD-карту, прежде чем создавать символическую ссылку, или команда сделает это за меня? Кроме того, нужно ли удалять файлы в data/app после их копирования?
Да. Когда символическая ссылка существует, любые попытки чтения/изменения в эту папку вместо этого переведут вас в папку <target>.