Создание собственной темы для смартфона Huawei начинается с установки официального редактора Theme Editor из каталога AppGallery. Это единственный инструмент, который позволяет собрать пакет в формат .hwt, совместимый с прошивками EMUI и HarmonyOS. Без этого приложения ручная замена файлов в системных разделах приведет к нестабильности интерфейса или блокировке загрузки темы службой ThemeManager.

Разработчики тем должны учитывать различия между версиями оболочки: EMUI 10–12 и HarmonyOS 2.0+ используют разную структуру ресурсов для панели уведомлений, виджетов и анимаций разблокировки. В редакторе эти ветви разделены табами EMUI и HarmonyOS, что требует отдельной верстки под каждую платформу. Игнорирование этого момента делает тему неработоспособной на устройствах с «Гармонией».

Перед стартом работы определитесь с типом проекта: личное использование или публикация в официальном магазине. Для второго пути потребуется регистрация аккаунта дизайнера Huawei Themes Designer, прохождение модерации и соблюдение строгих гайдлайнов по авторским правам на шрифты, иконки и обои. Личный же файл можно установить через «Темы» → «Мои» → «Импорт» без верификации аккаунта.

Необходимые инструменты и системные требования

Основным средой разработки является десктопное приложение Theme Editor (Windows/macOS), которое весит около 300 МБ и требует .NET Runtime 6.0 или новее. Мобильная версия редактора в AppGallery существует, но она урезана: позволяет только менять обои и цветовую палитру, не давая доступа к верстке локскрина или кастомным иконкам. Для серьезной работы нужен ПК.

Подготовьте исходники в правильных разрешениях. Huawei требует строгого соответствия плотности пикселей: базовые ресурсы готовятся под xxxhdpi (4x), остальные плотности генерируются автоматически при сборке. Использование изображений низкого разрешения вызовет артефакты на флагманских экранах с PPI выше 450.

  • 🖥 Theme Editor — официальный IDE для сборки .hwt пакетов.
  • 🎨 Графический редактор (Photoshop, Figma, Krita) с поддержкой векторов и прозрачности PNG.
  • 📐 Шаблоны ресурсов — скачиваются внутри Theme Editor (Menu → Resource Templates).
  • 🔑 Huawei ID с верифицированным аккаунтом разработчика тем (для публикации).
Элемент интерфейса Рекомендуемое разрешение (px) Формат Примечание
Обои рабочего стола 3200 × 3200 JPG / PNG Квадрат для поддержки любых соотношений сторон
Обои экрана блокировки 2760 × 1224 JPG / PNG Учитывает вырезы под часы и уведомления
Иконки приложений 192 × 192 PNG (прозрачность) Адаптивные иконки: фон + передний план
Always On Display 466 × 466 PNG / APNG Поддержка анимации до 30 кадров
Шрифт системный — TTF / OTF Лицензия на коммерческое использование обязательна

⚠️ Внимание: Не используйте в теме шрифты без лицензии на встраивание (Embedding). Huawei автоматически проверяет права на TTF/OFF файлы при модерации; нарушение приведет к перманентному бану аккаунта дизайнера.

☑️ Чек-лист подготовки ассетов перед импортом

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

Работа в Theme Editor: от проекта до превью

После запуска Theme Editor создайте новый проект через File → New Project. Укажите имя пакета в формате com.yourname.themename — это уникальный идентификатор, который нельзя изменить после первой публикации. В поле «Version Code» ставьте 1, при обновлениях увеличивайте на единицу. Выберите целевые платформы: для охвата максимальной аудитории ставьте галочки напротив EMUI 11.0+ и HarmonyOS 2.0+.

Интерфейс редактора разбит на панели: слева дерево ресурсов (Resource Tree), по центру холст превью, справа инспектор свойств. Перетаскивайте подготовленные ассеты прямо на узлы дерева: Wallpaper → Home, Lockscreen → Background, Icons → App Icons. Для иконок доступен пакетный импорт: выделите папку с 192×192 PNG и нажмите Import All — редактор сам распределит их по системным и пользовательским приложениям по именам пакетов.

Продвинутый совет

векторные иконки через SVG|Вместо растра загрузите SVG-файлы в ноду Icons → Vector Assets. Theme Editor растеризует их под все плотности при сборке, что дает идеальную четкость на любых экранах. Требуется: SVG Tiny 1.2 профиль, без градиентов mesh и внешних ссылок. Размер файла одной иконки не должен превышать 15 КБ.

Ключевая фишка современных тем — динамические обои и Always On Display с анимацией. В ноде AOD загрузите последовательность кадров APNG или набор PNG с настройкой FPS (обычно 10–15 кадров в секунду). Превью на холсте не всегда показывает плавность — обязательно тестируйте на реальном устройстве через Device Preview (QR-код в тулбаре).

💡

Чтобы ускорить итерации, включите в настройках Theme Editor «Hot Reload» (Ctrl+R). При сохранении изменений в графическом редакторе превью на телефоне обновится автоматически через 2–3 секунды без пересборки всего пакета.

Настройка цветовой палитры и системных элементов

Вкладка Color Palette управляет системными тонами: акцентный цвет (colorPrimary), фон уведомлений (notificationBg), текст на локскрине (lockscreenTextPrimary) и десятки других токенов. Theme Editor показывает превью изменений в реальном времени. Не стоит менять все 200+ параметров вручную — используйте генератор палитры: загрузите главное обои, нажмите Extract Colors, система сама подберет гармоничные оттенки для панели управления, настроек и виджетов.

Особое внимание уделите контрастности. Автотесты доступности (Accessibility) в редакторе (значок человечка) помечают красным сочетания, не проходящие WCAG AA. Тема с низким контрастом не пройдет модерацию в AppGallery и получит жалобы от пользователей с нарушениями зрения. Проверяйте режимы «Темная тема» и «Светлая тема» отдельно — токены для них могут отличаться кардинально.

  • 🎯 colorPrimary — акцент кнопок, переключателей, выделения текста.
  • 🌑 surfaceDark / surfaceLight — фон карточек в настройках и виджетах.
  • 📝 textPrimaryInverse — цвет текста на цветных фонах (шторка, AOD).
  • 🔲 outlineVariant — рамки полей ввода, разделители списков.

⚠️ Внимание: Изменение системных цветов затрагивает все приложения, использующие Material Design токены. Если ваш акцентный цвет — чистый красный #FF0000, ошибки валидации форм в банковских приложениях станут нечитаемыми. Тестируйте палитру в 3-5 сторонних приложениях перед релизом.

💡

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

Сборка, тестирование и установка .hwt файла

Когда все ресурсы на месте, перейдите в Build → Build Theme Package. Выберите Debug для теста (файл установится только на ваш телефон через ADB или локальный файл) или Release для публикации (подписывается сертификатом разработчика). Сборка занимает от 30 секунд до 3 минут в зависимости от количества иконок. Готовый .hwt появится в папке output/ проекта.

Установка тестовой сборки: перекиньте файл на телефон, откройте приложение «Файлы», тапните по .hwt — система предложит применить тему. Если установка падает с ошибкой Parse Error, проверьте manifest.json внутри архива (распакуйте как ZIP): часто виной становится некорректный versionCode (строка вместо числа) или отсутствующий minPlatformVersion.

Как установить тему через ADB без копирования файла|1. Включите «Отладку по USB» в Настройках → Для разработчиков.
2. Подключите телефон к ПК, в терминале Theme Editor нажмите «Deploy to Device» (иконка телефона со стрелкой).
3. Редактор сам соберет Debug-пакет, пушит его через adb install -r и применит тему за 10–15 секунд. Удобно для быстрых правок иконок или цветов.-->

Публикация в официальном магазине тем Huawei

Для публикации нужен аккаунт Huawei Themes Designer (developer.huawei.com/consumer/cn/theme). Регистрация требует верификации личности

паспорт/ID, селфи с документом, договор оферты. Модерация аккаунта занимает 1–3 рабочих дня. После одобрения в личном кабинете нажмите «Submit Theme», загрузите Release .hwt, заполните метаданные: название (до 30 символов), описание, категория, теги. Обязательно прикрепите скриншоты: рабочий стол, локскрин, шторка, настройки, AOD — по одному на каждый пункт.

Модерация контента занимает до 7 дней. Автоматические проверки сканируют на наличие запрещенного контента, нарушение авторских прав (Google Images, Pinterest — мгновенный реджект), технические баги (краш системного UI, нечитаемый текст). Если тема отклонена, придет письмо с кодом ошибки: T1001 — низкое качество иконок, T1005 — проблемы с шрифтом, T2003 — нарушение гайдлайнов бренда. Исправляйте и ресабмитьте — попыток неограниченно.

  • 📋 Metadata — заполняйте на русском и английском для глобального охвата.
  • 🖼 Скриншоты — только нативное разрешение экрана, без рамок устройства.
  • 💰 Монетизация — бесплатно или платно (минимальная цена 0.99 USD, комиссия Huawei 30%).
  • 🔄 Обновления — увеличивайте versionCode, сохраняйте package name.

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

Самая распространенная проблема — иконки не применяются к приложениям из Play Market. Причина: в EMUI/HarmonyOS адаптивные иконки имеют два слоя (background + foreground). Если вы загрузили толькоforeground, система игнорирует иконку. Решение: в ноде Icons → Adaptive задайте фон (сплошной цвет или градиент) и передний план отдельно. Для системных приложений Huawei достаточно одного слоя.

Вторая ловушка — Always On Display не анимируется. Проверьте: всего должно быть не более 30 кадров, суммарный размер APNG < 500 КБ, частота кадров в инспекторе установлена в 10–15 fps. На некоторых чипсетах Kirin 980/990 анимация AOD отключается системой при низком заряде (< 20%) — это норма, не баг темы.

⚠️ Внимание: Не переименовывайте папку res/ внутри распакованного .hwt вручную. Структура директорий жестко зашита в парсер ThemeManager. Любое отклонение от шаблона Theme Editor приведет к ошибке Invalid Package Structure при установке.

📊 Какой этап создания темы вызывает у вас больше всего трудностей?
Подготовка иконок под все разрешения
Настройка цветовой палитры и контрастности
Верстка экрана блокировки и AOD
Прохождение модерации в AppGallery

Обновление и поддержка темы после релиза

После публикации работа не заканчивается. С каждым крупным обновлением EMUI/HarmonyOS (обычно раз в год) меняются токены цветов, структура локскрина, API виджетов. Подпишитесь на рассылку Huawei Developer Newsletter и следите за чейнлогами Theme Editor. Выход новой версии редактора — сигнал к проверке совместимости. Откройте проект в новом редакторе, запустите Build → Validate, исправьте предупреждения (желтые флаги) и выпустите патч с увеличенным versionCode.

Читайте отзывы пользователей в магазине тем. Жалобы на «мигающий экран блокировки» часто указывают на конфликт вашего локскрина с системной анимацией отпечатка пальца — решение: отключите анимацию фона в ноде Lockscreen → Fingerprint Animation → None. Проблемы с батареей почти всегда связаны с тяжелыми AOD (высокий FPS, много кадров) или live-обоями без флага lowPowerMode.

💡

Тема — это живой продукт. Планируйте бюджет времени на поддержку: минимум 1 обновление в квартал и срочные хотфиксы при мажорных обновлениях ОС.

FAQ: Частые вопросы о создании тем для Huawei

Можно ли создать тему только на телефоне, без ПК?

Мобильный Theme Editor позволяет сменить обои, акцентный цвет и шрифт, но не дает доступа к верстке локскрина, адаптивным иконкам, AOD и экспорту .hwt. Для полноценной темы нужен ПК.

Почему тема не устанавливается с ошибкой «Signature Verification Failed»?

Вы пытаетесь установить Release-сборку без сертификата разработчика. Для тестов используйте Build → Debug. Release-пакет ставится только после публикации в магазине или на телефоне разработчика, привязанном к аккаунту в Theme Editor.

Нужно ли платить за аккаунт дизайнера Huawei Themes?

Регистрация и публикация бесплатны. Huawei удерживает 30% комиссии только с платных тем. Бесплатные темы не требуют оплаты.

Можно ли использовать чужие иконки из интернета в своей теме?

Только если у вас есть письменная лицензия от автора на коммерческое использование и модификацию. Модерация AppGallery использует хеш-сопоставление с базой известных паков иконок — плагиат приведет к бану аккаунта навсегда.

Как сделать тему совместимой и с EMUI, и с HarmonyOS?

В Theme Editor заполните ресурсы в обеих вкладках (EMUI и HarmonyOS). При сборке выберите обе платформы. Редактор соберет универсальный .hwt, который сам определит ОС на телефоне пользователя и применит нужный набор ресурсов.