Создание собственной темы для смартфонов Huawei начинается с понимания структуры архива .hwt или .mtz, который система принимает как установочный пакет оформления. В основе лежит JSON-манифест, описывающий метаданные, и набор ресурсов: обои, иконки, шрифты, стили локскрина и Always On Display. Без корректного файла manifest.json установщик отвергнет пакет даже при идеальной графике.

Разработчики часто сталкиваются с проблемой подписи пакета: начиная с EMUI 10 и HarmonyOS 2, установка неподписанных тем возможна только через ADB или специальные лаунчеры. Официальный Huawei Theme Editor генерирует подписанный файл автоматически, но требует авторизации Huawei ID и прохождения модерации для публикации в магазине. Для личного использования достаточно собрать архив вручную и установить через приложение «Темы» с включенным режимом разработчика.

Подготовка ассетов и технические требования

Первый этап — сбор графики. Система требует строгого соответствия разрешениям экрана конкретной модели. Для флагманов серии P и Mate актуальны разрешения 2340×1080 (FHD+) или 2772×1228 (LTPO), но универсальный пакет должен содержать наборы для xxhdpi, xxxhdpi и 400dpi. Иконки готовят в формате PNG с прозрачностью, размер 192×192 пикселя для лаунчера и 96×96 для шторки уведомлений.

Обои для локскрина и домашнего экрана могут быть статичными или живыми (Live Wallpaper). В последнем случае добавляется видео в .mp4 или анимация в .gif с ограничением по весу 15 МБ. Шрифты упаковывают в .ttf или .otf, прописывая пути в манифесте. Звуки уведомлений и рингтоны — только .ogg или .mp3 с битрейтом до 192 кбит/с.

  • 🖼️ Обои: JPG/PNG, соответствие разрешению матрицы устройства
  • 🎨 Иконки: PNG 192×192 (launcher), 96×96 (notification), адаптивные маски
  • 🔤 Шрифты: TTF/OTF, поддержка кириллицы, лицензия на распространение
  • 🔊 Звуки: OGG/MP3, длина рингтона до 30 секунд
  • 📱 Локскрин: PNG для элементов, MP4 для анимации фона
⚠️ Внимание: Использование защищенных авторским правом изображений, логотипов брендов или персонажей аниме без лицензии приведет к бану аккаунта разработчика в Huawei Themes Store. Проверяйте права на каждый ассет перед сборкой.

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

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

Работа с официальным Huawei Theme Editor

Официальный инструмент Huawei Theme Editor доступен для Windows и macOS после регистрации в Huawei Developer Alliance. Интерфейс позволяет визуально собирать тему: перетаскивать ассеты в слоты, предварительно просматривать локскрин и AOD, автоматически генерировать манифест. Редактор валидирует ресурсы на лету, подсвечивая несоответствия разрешений или отсутствующие обязательные поля.

После сборки нажимаете «Export» — получаете подписанный .hwt файл. Его можно сразу отправить на модерацию в магазин или установить локально через меню «Мои темы» → «Импорт». Главное преимущество — валидная подпись, которая проходит проверку ThemeManager без рута и ADB. Минус — необходимость интернета для входа в аккаунт и невозможность редактировать низкоуровневые параметры анимаций.

📊 Каким способом вы предпочитаете создавать темы для Huawei?
Официальный Theme Editor (визуально, с подписью)
Ручная сборка MTZ/ZIP (полный контроль)
Сторонние конструкторы (Theme Maker, приложения на телефоне)
Только качаю готовые из магазина

Ручная сборка темы через распаковку MTZ

Формат .mtz — это обычный ZIP-архив с фиксированной структурой папок. Достаточно переименовать расширение в .zip, распаковать, заменить ресурсы на свои, отредактировать manifest.json в текстовом редакторе и запаковать обратно. Критично сохранять иерархию: /icons, /wallpaper, /lockscreen, /fonts, /audio, в корне — manifest.json и preview.jpg (обложка 300×300).

В манифесте обязательны поля: name (название), version (например, 1.0.0), author, description, type (theme), platform (emui или harmonyos), minVersion (минимальная версия EMUI, например 10.0). Поле resources перечисляет все файлы с хешами SHA-256 для проверки целостности. Генерацию хешей удобно делать скриптом на Python или через certutil -hashfile в Windows.

{

"name": "MyCustomTheme",

"version": "1.0.0",

"author": "UserName",

"type": "theme",

"platform": "harmonyos",

"minVersion": "12.0",

"resources": [

{"path": "wallpaper/home.jpg", "sha256": "..."},

{"path": "icons/icon_settings.png", "sha256": "..."}

]

}

⚠️ Внимание: При ручной упаковке в ZIP не используйте сжатие уровня «Maximum» или «Ultra» — системный парсер тем на некоторых версиях EMUI не может распаковать такие архивы. Выбирайте метод «Store» (без сжатия) или «Normal».
Автоматизация сборки скриптом на Python

Скрипт рекурсивно обходит папку resources, считает SHA-256 для каждого файла, формирует manifest.json и создает MTZ через zipfile.ZipFile с compression=ZIP_STORED. Это исключает ошибки ручного заполнения хешей и ускоряет итерации при разработке.

Особенности верстки локскрина и Always On Display

Локскрин в EMUI/HarmonyOS состоит из нескольких слоев: фон, виджет часов/даты, область уведомлений, шторка быстрых настроек. Координаты элементов задаются в lockscreen/layout.xml (или .json в новых версиях). Позиционирование — относительное, в процентах от ширины/высоты экрана, что гарантирует адаптивность на разных диагоналях. Анимация перехода (unlock animation) описывается в unlock_animation.xml через ключевые кадры.

Always On Display (AOD) требует отдельного набора ресурсов в папке /aod. Это черно-белые PNG (для OLED) или цветные (для LTPO) с прозрачностью. Система не поддерживает интерактивность в AOD — только статику или зацикленную анимацию до 30 кадров. Важно тестировать на устройстве с AOD: на IPS-экранах тема просто не применится к этому разделу, а на OLED некорректные координаты приведут к «пригоранию» пикселей.

ЭлементПапка в архивеФорматОсобенности
Обои рабочего стола/wallpaperJPG, PNGДва файла: home.jpg, lock.jpg
Иконки приложений/iconsPNG 192×192Требуется adaptive_icon_mask.xml
Часы на локскрине/lockscreen/clockPNG + XMLПоддержка 12/24ч формата
Always On Display/aodPNG (1-bit alpha)Только для OLED/LTPO
Шрифт системы/fontsTTF, OTFПрописывается в manifest.json
💡

Для тестирования AOD без ожидания таймера экранной блокировки включите «Всегда показывать AOD» в настройках разработчика (Settings → Developer options → Always show AOD). Это ускоряет проверку позиционирования элементов в разы.

Подписка и установка темы на устройство

Начиная с EMUI 11 / HarmonyOS 2.0, установка неподписанных тем через приложение «Темы» заблокирована. Есть три легальных пути: 1) Опубликовать в магазине — модерация 1-3 дня, тема получает сертификат. 2) Использовать adb install -r theme.hwt с включенной отладкой по USB — работает только если пакет собран официальным Theme Editor. 3) Установить через сторонний лаунчер (Niagara, Lawnchair) с поддержкой тем, но это изменит только иконки и обои, системные меню останутся стандартными.

Для разработки удобно держать телефон в режиме разработчика: Настройки → О телефоне → Версия сборки (7 тапов) → Для разработчиков → Установка через USB / ADB. После установки тема появится в «Мои темы» → «Мое оформление». Если после применения интерфейс «поехал» — проверьте logcat по тегу ThemeManager: частая ошибка ResourceNotFoundException указывает на опечатку в пути манифеста.

⚠️ Внимание: Никогда не редактируйте системные разделы (product, system_ext) для установки темы — это триггерит AVB/Verified Boot, устройство уйдет в bootloop или потеряет доступ к OTA-обновлениям. Работайте только в пользовательском пространстве через ThemeManager.
💡

Главный вывод: для личного использования достаточно ручной сборки MTZ и установки через ADB с подписанным официальным редактором HWT. Публикация в магазине дает удобство распространения, но требует аккаунта разработчика и модерации.

Типичные ошибки и их устранение

Самая частая ошибка — несовпадение хешей в manifest.json. Даже пересохранение PNG в другом редакторе меняет байты файла. Решение: всегда считать хеш после финального сохранения ассета, перед упаковкой. Вторая проблема — отсутствие обязательных иконок системных приложений (Настройки, Телефон, Сообщения, Камера). Их пропуск вызывает фолбэк на стандартные иконки, ломая визуальную целостность.

Третий кейс — некорректный minVersion. Указание 10.0 для темы с анимациями AOD, которые появились только в HarmonyOS 3.0, приведет к крашу ThemeManager на старых прошивках. Всегда тестируйте на минимально поддерживаемой версии через эмулятор в DevEco Studio. Четвертое — превышение лимита размера: магазин ограничивает пакет 100 МБ, локальная установка — 200 МБ. Оптимизируйте фото через WebP (поддерживается с EMUI 10.1) и удаляйте неиспользуемые плотности.

  • 🔧 Ошибка хеша → пересчитать SHA-256 финальных файлов
  • 📱 Пропуск системных иконок → добавить полный набор 60+ иконок
  • 📉 Неверный minVersion → тестировать на эмуляторе целевой версии
  • 💾 Превышение лимита размера → конвертировать в WebP, убрать xxxhdpi если не нужно
  • 🔄 Конфликт имен пакетов → уникальный package name в manifest.json
Как быстро найти ошибку через logcat

Подключите телефон по USB, выполните `adb logcat -s ThemeManager:V ThemeService:V`. Примените тему. В логе появятся строки `E/ThemeManager: Failed to load resource ...` с точным путем к проблемному файлу или строке манифеста. Это быстрее гадания в 10 раз.

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

Для публикации нужен аккаунт Huawei Developer (платная верификация $25 для компаний, бесплатно для физлиц с паспортом). В консоли разработчика выбираете «Themes» → «Create New», загружаете .hwt из Theme Editor, заполняете карточку: название на 5 языков, скриншоты 1080×2340 (минимум 3), описание, теги. Модерация проверяет: отсутствие контента 18+, нарушений ТМ, техническую валидность (установка на эталонные устройства P60, Mate 60, Nova 12).

После одобрения тема получает уникальный ID и становится доступна в приложении «Темы» по всему миру или в выбранных регионах. Статистика скачиваний, отзывы и доходы (если тема платная) отображаются в дашборде. Выплаты производятся ежемесячно на банковский счет, указанный в профиле разработчика, за вычетом комиссии Huawei (30%). Обновление версии требует повторной модерации, но обычно проходит за часы.

FAQ: Частые вопросы о создании тем для Huawei
Можно ли сделать тему прямо на телефоне без ПК?

Да, существуют приложения-конструкторы вроде Theme Maker for Huawei или MTZ Editor из AppGallery. Они позволяют заменить обои, иконки, шрифты и собрать MTZ, но не дают доступа к верстке локскрина, AOD или анимациям. Для полноценной темы нужен ПК.

Почему тема не устанавливается: пишет «Пакет неверный»?

Причины: 1) Архив запакован с сжатием (нужен метод Store). 2) В манифесте ошибка JSON (запятая, кавычка). 3) Отсутствует preview.jpg в корне. 4) Несовпадение SHA-256. 5) Пытаетесь установить неподписанный MTZ на EMUI 11+ без ADB.

Как сделать анимированные иконки как в официальных темах?

Официальные анимированные иконки используют формат .gif или последовательность кадров в /icons/animated/ с дескриптором animation.xml. Theme Editor поддерживает это визуально. В ручной сборке нужно прописать каждый кадр в манифесте и добавить animation блок в ресурсы иконки. Работает только на лаунчере Huawei Home.

Нужен ли Root для установки своих тем?

Нет. Root не требуется ни для сборки, ни для установки через ADB (с официальным HWT) или через магазин. Root нужен только для замены системных ресурсов напрямую в разделе /product, что не рекомендуется из-за риска брика и потери OTA.

Можно ли продавать темы, сделанные из бесплатных ассетов?

Только если лицензия ассетов (CC0, MIT, Royalty Free) разрешает коммерческое использование и перепродажу как часть производного произведения. Всегда читайте лицензию конкретного пакета иконок/шрифтов/фото. Нарушение — основание для удаления темы и бана аккаунта разработчика.

💡

Итог: создание качественной темы для Huawei — это 80% подготовки ассетов по строгим спекам и 20% сборки. Используйте официальный Theme Editor для подписи и удобства, ручную сборку — для экспериментов с версткой локскрина и AOD. Тестируйте на целевых версиях EMUI/HarmonyOS перед релизом.