Ошибка внешней SD-карты: java.lang.IllegalStateException: нет подходящего внешнего хранилища

У меня есть Motorola Moto E LTE 2015 (XT1524) (surnia) и карта Lexar micro SDHC 1000x 32Gb.

Я следовал этой инструкции, как установить-link2sd-apps2sd-marshmallow , чтобы поместить свои приложения на SD-карту.

  1. Я разделил свою SD-карту на 2 раздела для внешнего хранилища:
    • 1-й раздел в FAT32, основной, около 15 Гб
    • 2-й раздел в ext2, основной, около 15 Гб (ext4 дает мне поврежденный раздел в моем телефоне, разделенный с помощью aParted на моем телефоне или Gparted на моем ПК (Kubuntu 16.10), я пробовал оба, одинаковые результаты.)
  2. Мое устройство рутировано, на нем установлены TRWP 3.10, LineageOS 14.1-20170414 и SuperSU-v2.79-SR3.
  3. Я использовал Apps2SD и Link2SD для установки приложений на SD-карту внешнего хранилища, но это не работает, и у меня такая же ошибка:

Нет подходящего внешнего хранилища

Как вы думаете, это происходит от:
- LineageOS,
- ядра,
- софта разделов, флагов, ярлыков
- Apps2SD/Link2SD,
- SD карты
- ...

И как это исправить?

Сведения об устройстве:
Телефон: Moto E LTE (2-го поколения) - XT1524
Версия Android: Android 7.1.1 - LineageOS 14.1-20170414-NIGHTLY-surnia - API LineageOS Guava (7) - bandbase M8916_2020629.41.03.21.51R - ядро ​​3.10.49 -MPI24.241-2.35-1-g1ec3abb

Ответы (3)

Но вы не сделали никакой ошибки:

Переход на SD-карту означает перемещение файлов apk с частью данных приложения на SD-карту, поэтому приложение будет разделено между SD-картой и внутренней памятью, и это может помочь освободить больше места, но связывание приложений с SD отличается тем, что перемещает app почти полностью на внешнее хранилище, но вам нужен второй раздел с ext2/4файловой системой, и это освободит больше места во внутреннем хранилище.

теперь последний метод — сделать внешнее хранилище внутренним, что можно сделать, отформатировав SD-карту и снова подготовив ее как внутреннее хранилище.

Хорошо, теперь у каждого метода есть свои преимущества, но я предпочитаю переход на SD:

Переход на SD-карту может быть выполнен по умолчанию без необходимости использования какого-либо приложения, такого как link2SD, и без необходимости разделения SD-карты на два раздела, что ограничит размер вашей SD-карты мультимедийными данными, такими как видео/изображения/музыка ..... и т. д., и вам может понадобиться больше места для них, но перемещение на SD-карту из информации о приложении в настройках приложений ---- (или из любого корневого приложения, если опция перемещения не была найдена в информации о приложении по умолчанию) ------- переместит ваше приложение на fat32/exfat/NTFSSD-карту вашей файловой системы, но не полностью освободит меньше места без необходимости разделения SD-карты.

Перенос на SD-карту Также более стабильный и не вызовет ошибок или потери ваших данных, если ваша внешняя SD-карта была извлечена во время работы устройства, поэтому ваша внешняя SD-карта не потеряет свою функцию внешнего хранилища, которое вы можете перемещать в любое место вне вашего только устройство.

удаление вашего внешнего хранилища, когда есть приложения, связанные с вашей SD-картой, может удалить ваше связанное приложение или потерять некоторые данные ваших приложений, или заморозить ваше устройство, или заставить его работать нормально (возможно, нет) в соответствии с приложениями, связанными, поэтому вам нужно чтобы выключить устройство, затем извлеките SD-карту, чтобы поместить ее в нужное вам место, и вы также не сможете использовать второй раздел для перемещения файлов, поэтому ваше внешнее хранилище будет ограничено.

Хорошо, а как насчет подготовки внешнего хранилища для использования в качестве внутреннего на Android 6.0+? Хорошо, эта опция официально перенесена Google на Android 6.0+, и для управления ею не требуется какое-либо внешнее приложение, поэтому вы сделаете свое внешнее хранилище внутренним и забудете обо всем остальном, в то время как устройство будет автоматически управлять приложениями и решать, какие приложения будут сохранить на SD-карту или во внутреннюю память.

После подготовки внешнего хранилища в качестве внутреннего ваше устройство объединит их в один раздел, и это расширит функциональные возможности вашего хранилища, не ограничивая его, в отличие от привязки к SD-карте, поэтому у вас будет преимущество расширения функциональности хранилища, но, с другой стороны, вы не будете возможность полностью удалить внешний SD, даже если вы выключили свое устройство и переместили его на любое другое устройство.

Файловая система будет отображаться как поврежденная, поэтому вам нужно подключить все ваше устройство к компьютеру, например, для перемещения файлов, в дополнение к этому вы потеряете свои данные, если ваша система Android была остановлена ​​и ее необходимо переформатировать, и это большой недостаток и именно поэтому некоторые производители смартфонов, такие как великий Samsung, официально отключили его в системе своих устройств, но вы все еще можете включить его с помощью приложения (Root Essentials), которое вы можете скачать бесплатно из игрового магазина, что даст вам самый простой способ чтобы снова включить эту функцию на вашем устройстве Samsung (в любом случае ваше устройство не Samsung, поэтому вы можете пропустить это)

Хорошо, теперь что бы вы хотели выбрать: привязку к SD или перемещение приложений в обычном режиме или использовать внешний как внутренний?

Я думаю, что Samsung был прав, когда удалил внешнее хранилище в качестве внутреннего, поскольку оно оказалось явно опасным для ваших личных файлов и данных, а также потеряло внешнюю функциональность вашей SD-карты, поэтому вы не можете ее удалить.

Хорошо, знайте, если вы выбрали, как я предпочитаю обычно перемещать приложения на SD-карту, вам нужно будет исправить эту проблему (ошибка нет подходящего внешнего хранилища для перемещения приложений). Я думаю, что эта ошибка связана с линией 14, и все ромы, переданные на нее, как resurrection remix rom, и в настоящее время я пытаюсь это исправить, и я сообщу вам о правильном решении.

ОП заявил :

Решено.

Язык Шекспира мне не понятен, и я не очень хорошо понял разницу между "Переместить на SD-карту" и "Связать с SD-картой".

Вместо использования «Связать с SD-картой» я использовал опцию «Переместить на SD-карту» с программами Link2sd или Apps2sd. И, поскольку я определил раздел SD-карты для использования в качестве второго раздела ext2, я думаю, что «Переместить на SD-карту» не нашел 1-й раздел FAT и выдал мне эту ошибку:

error : java.lang.IllegalStateException : No suitable external storage

Наконец, опция «Связать с SD-картой» со вторым разделом ext2 работает хорошо.

Приношу извинения за неудобства.

Предоставьте разрешения.

Перейдите в Приложения - Разрешения на доступ - проверьте разрешение на хранение.