На смартфонах Huawei с EMUI 9 и выше нативная функция переноса приложений на SD-карту доступна не для всех программ. Система блокирует перемещение системных компонентов, виджетов и приложений с защитой от копирования, оставляя активной кнопку «Перенести» только для части пользовательского софта. Даже если перенос прошел успешно, основной исполняемый код часто остается во внутренней памяти, а на внешний накопитель уходят лишь кэш и данные.

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

Почему не все приложения переносятся на SD-карту

Разработчики приложений сами решают, поддерживает ли их программа установку на внешнее хранилище, задавая атрибут android:installLocation в манифесте. Если стоит значение internalOnly, кнопка переноса в настройках будет неактивна. Это типично для банковских клиентов, мессенджеров с шифрованием и системных утилит.

Кроме того, оболочка EMUI накладывает собственные ограничения. На прошивках серии EMUI 10–12 и HarmonyOS 2–3 меню «Память» показывает кнопку переноса только для приложений, установленных пользователем, и только если карта отформатирована в FAT32 или exFAT. При попытке перенести игру объемом более 2 ГБ система может вернуть ошибку нехватки места, хотя на карте свободно десятки гигабайт — это связано с созданием временных файлов во внутреннем хранилище во время процесса.

⚠️ Внимание: Перенос приложения на SD-карту не освобождает внутреннюю память полностью. Исполняемые файлы (.dex, .so библиотеки) остаются в разделе /data/app, а на карту уходит только папка с данными (/data/data или /sdcard/Android/data).

Способ 1: Стандартный перенос через настройки телефона

Этот метод работает на всех актуальных версиях EMUI и HarmonyOS без прав root. Он подходит для большинства игр, фоторедакторов и офлайн-карт. Процедура занимает пару минут, но требует выполнения условий: карта должна быть вставлена, распознана системой и не зашифрована.

Алгоритм действий выглядит так:

  • 📱 Откройте Настройки → Приложения → Все приложения.
  • 🔍 Найдите нужную программу в списке и нажмите на её название.
  • 💾 Перейдите в пункт Память (или Хранилище).
  • 🔄 Если кнопка Изменить или Перенести на SD-карту активна — нажмите её и подтвердите действие.

Во время переноса не выключайте экран и не извлекайте карту. После завершения в строке «Хранилище» появится надпись «SD-карта». Если кнопка неактивна — приложение не поддерживает данный режим, переходите к альтернативным способам.

☑️ Проверка перед стандартным переносом

Выполнено: 0 / 4

Способ 2: Форматирование карты как внутреннего хранилища (Adoptable Storage)

Функция Adoptable Storage появилась в Android 6.0, но в EMUI она скрыта или работает нестабильно. Суть метода: microSD форматируется в зашифрованный раздел ext4 и монтируется как продолжение внутренней памяти. Система перестает отличать «внутреннюю» и «внешнюю» память, устанавливая все новые приложения на единый пул.

Чтобы активировать режим на Huawei, часто требуется ADB, так как в меню «Память» пункт «Внутреннее хранилище» может отсутствовать. Подключите телефон к ПК, включите «Отладку по USB» и выполните команды:

adb shell

sm list-disks

sm partition disk:179,64 private

Вместо disk:179,64 подставьте идентификатор вашей карты из вывода первой команды. После завершения карта станет нечитаемой на компьютере и других телефонах без расшифровки.

⚠️ Внимание: При использовании Adoptable Storage карта привязывается к конкретному устройству. При сбое прошивки, сбросе настроек или повреждении слота карты — все данные на ней станут недоступны навсегда. Резервное копирование обязательно.
Нюансы Adoptable Storage на EMUI 11 и HarmonyOS

На прошивках новее EMUI 10.1 Huawei программно ограничивает Adoptable Storage. Даже если команда sm partition выполнится без ошибок, система может игнорировать новый раздел и продолжать ставить приложения во встроенную память. Проверенное решение — откат на старую версию EMUI (если загрузчик разблокирован) или использование Magisk-модуля «Adoptable Storage Enabler», требующего root-прав. Без рута на актуальных версиях HarmonyOS этот метод не работает.

Способ 3: Использование ADB для принудительного переноса (без root)

Если стандартное меню отказывает, а Adoptable Storage не подходит, можно заставить систему перенести конкретный пакет через ADB. Метод использует системный вызов pm move-package, который игнорирует манифест приложения, но требует, чтобы целевое приложение не имело флага FLAG_SYSTEM.

Последовательность действий:

  1. Узнайте точное имя пакета: adb shell pm list packages | grep <часть_названия>.
  2. Проверьте текущее расположение: adb shell pm dump <пакет> | grep codePath.
  3. Выполните перенос: adb shell pm move-package <пакет>.

Команда вернет Success или код ошибки. Частая ошибка -18 означает, что разработчик запретил перенос жестко. Ошибка -22 — карта не смонтирована или файловая система не поддерживает права доступа (например, FAT32 без поддержки uid/gid).

💡

ADB-перенос работает точечно: можно переместить только «тяжелые» игры, оставив банковские приложения во внутренней памяти для скорости и безопасности.

Требования к microSD-карте для стабильной работы

Скорость карты критически влияет на запуск перенесенных приложений. Медленные карты класса 4 или 6 вызывают фризы, вылеты и долгую отрисовку интерфейса. Huawei официально рекомендует карты стандарта UHS-I U3 / V30 / A1 / A2. Метки Application Performance Class (A1, A2) гарантируют минимальные IOPS для случайного чтения/записи, что важнее последовательной скорости для работы приложений.

Объем карты не должен превышать максимально поддерживаемый слотом (обычно 256 Гб или 512 Гб для флагманов, 128 Гб для бюджетников). Использование карт большего объема через переходники microSD-to-SD или нетворк-бренды (нет бренда на корпусе) ведет к потере данных через 3–6 месяцев активной записи.

Класс скорости Мин. последовательная запись Мин. IOPS чтения (A1) Мин. IOPS записи (A1) Пригодность для приложений
Class 10 / U1 10 МБ/с — — ❌ Не рекомендуется
U3 / V30 30 МБ/с — — ⚠️ Допустимо для кэша
A1 (U3/V30) 30 МБ/с 1500 500 ✅ Хорошо
A2 (U3/V30) 30 МБ/с 4000 2000 ✅ Отлично
💡

Перед использованием новой карты отформатируйте её в телефоне (Настройки → Память → SD-карта → Форматировать). Это создаст корректную структуру каталогов и файловую систему, оптимизированную под текущую версию EMUI. Форматирование на ПК часто оставляет скрытые системные папки Windows, мешающие Android.

Частые ошибки и их решение

Ошибка «Недостаточно места» при наличии свободных гигабайт на карте возникает из-за нехватки места во внутренней памяти для временных файлов переноса. Очистите кэш системы через Настройки → Память → Очистка или удалите неиспользуемые обновления системных приложений.

Проблема «Приложение перестало запускаться после перезагрузки» типична для карт с битыми секторами или при использовании Adoptable Storage на нестабильной прошивке. Лечится проверкой карты утилитой f3probe (Linux) или H2testw (Windows) на ПК. Если найдены ошибки — карта бракованная, перенос невозможен.

⚠️ Внимание: Не пытайтесь перенести на SD-карту приложения-лаунчеры, клавиатуры, виджеты и антивирусы. После перезагрузки система не смонтирует карту к моменту их автозапуска, что приведет к черному экрану или зацикливанию загрузки (bootloop). Восстановление возможно только через Recovery-меню или перепрошивку.
📊 Какой способ переноса приложений на SD-карту вы используете чаще всего?
Стандартный через Настройки
Adoptable Storage (внутреннее хранилище)
ADB команды (pm move-package)
Не переношу, покупаю телефон с большей памятью

Вопросы и ответы

Можно ли перенести системные приложения (Телефон, Сообщения, Настройки) на SD-карту?

Нет. Системные приложения имеют флаг FLAG_SYSTEM и установлены в раздел /system или /product, который доступен только для чтения. Их перенос нарушит загрузку ОС. Даже с root-правами это требует переразбивки разделов и несет риск превращения смартфона в «кирпич».

Почему после переноса игра лагает и долго грузит текстуры?

Скорее всего, карта памяти не соответствует классу A1/A2. Игры требуют высокого случайного чтения (IOPS), а дешевые карты оптимизированы только под последовательную запись видео. Замените носитель на модель с маркировкой A2 (например, SanDisk Extreme или Samsung PRO Endurance).

Что будет с приложениями на SD-карте, если я вставлю её в другой телефон?

При стандартном переносе (через Настройки) — приложения останутся на карте, но не запустятся на новом устройстве: система увидит только файлы данных (.obb, кэш), а исполняемый код останется в памяти старого телефона. При Adoptable Storage — карта зашифрована ключом старого телефона, на новом она будет определена как пустая и потребует форматирования.

Как вернуть приложение из SD-карты во внутреннюю память?

Повторите путь: Настройки → Приложения → Все приложения → [Название] → Память → Изменить → Внутреннее хранилище. Процесс симметричен переносу на карту. Если кнопка неактивна — освободите место во внутренней памяти (минимум 500 Мб + размер приложения) и перезагрузите телефон.

Поддерживает ли HarmonyOS 4.0 перенос приложений на карту памяти?

Да, базовый механизм не изменился. Меню находится в Настройки → Приложения → Управление приложениями → [Приложение] → Память. Однако список поддерживаемых приложений сузился: многие китайские версии приложений (WeChat, Alipay, Douyin) жестко блокируют перенос на уровне манифеста для защиты платежных данных.

💡

Главный вывод: для 90% задач достаточно стандартного переноса через настройки. Adoptable Storage и ADB нужны только если критично освободить максимум места и вы готовы принять риски потери данных при поломке карты.