Huawei для разработчиков: экосистема, инструменты и публикация приложений

Разработчик, который впервые собирает APK под устройства Huawei без Google Mobile Services, почти сразу упирается в ошибки авторизации push-уведомлений или геолокации — причина в том, что привычные вызовы GMS на новых смартфонах бренда просто не работают, и их нужно заменять на аналоги из Huawei Mobile Services. Это не баг конкретной модели, а архитектурная особенность экосистемы: приложения собираются под HMS Core и публикуются в магазине AppGallery.

Эта статья разбирает, что доступно разработчику в экосистеме Huawei: какие сервисы заменяют привычные API, какие инструменты использовать для сборки и отладки, как устроена публикация в AppGallery и на что обратить внимание при тестировании. Материал подойдёт тем, кто портирует существующее Android-приложение, и тем, кто пишет под HarmonyOS с нуля.

Экосистема Huawei: что нужно понимать разработчику

После ограничений 2019 года новые устройства Huawei поставляются без сервисов Google. Вместо них работает связка HMS Core (набор API и сервисов) и магазин AppGallery. Для разработчика это означает, что любой вызов Google Play Services — карты, push, оплата, авторизация — требует замены на соответствующий HMS-аналог либо на универсальное решение.

Важно различать два направления разработки. Первое — обычные Android-приложения (APK/AAB), адаптированные под HMS: они работают на смартфонах с EMUI. Второе — приложения под HarmonyOS, которые собираются в формате пакетов для этой ОС и пишутся преимущественно на ArkTS. Подходы, инструменты и даже учётные записи для них пересекаются, но требования к публикации различаются.

⚠️ Внимание: поддержка конкретных HMS-сервисов зависит от версии HMS Core на устройстве и региона. Перед тем как закладывать функцию в архитектуру, проверьте её доступность в официальной документации для вашего целевого рынка.

Регистрация и учётная запись разработчика

Начало работы — создание учётной записи на портале Huawei Developers. Регистрация бесплатна, но для публикации приложений потребуется пройти верификацию личности или компании: для физических лиц обычно запрашивается документ, для юридических — реквизиты организации. Процесс проверки занимает некоторое время, поэтому подать документы лучше заранее, не дожидаясь готовности сборки.

После верификации открывается доступ к консоли AppGallery Connect — центральной панели управления проектами. Здесь создаются приложения, настраиваются сервисы, генерируются конфигурационные файлы и ведётся аналитика.

  • 🪪 Индивидуальный аккаунт — публикация от своего имени, упрощённая верификация
  • 🏢 Корпоративный аккаунт — публикация от компании, доступ для команды
  • 🔑 Включение двухфакторной защиты аккаунта до начала коммерческой работы
  • 🌍 Выбор региона обработки данных при создании проекта — влияет на доступные сервисы

HMS Core: ключевые сервисы и аналоги GMS

Основная работа при портировании — замена вызовов Google-сервисов. HMS предоставляет набор «китов» (kits), каждый из которых закрывает определённую задачу. Сопоставление обычно прямое, но API отличаются по сигнатурам и ограничениям.

ЗадачаСервис GoogleАналог в HMS
Push-уведомленияFirebase Cloud MessagingPush Kit
Карты и геолокацияGoogle Maps / LocationMap Kit / Location Kit
АвторизацияGoogle Sign-InAccount Kit
Встроенные покупкиGoogle Play BillingIAP Kit
АналитикаFirebase AnalyticsAnalytics Kit

Если приложение должно работать и на устройствах с GMS, и на Huawei, имеет смысл абстрагировать сервисный слой: вынести push, карты и покупки за интерфейсы с двумя реализациями и выбирать нужную в рантайме по наличию соответствующих сервисов. Это увеличивает объём кода, но избавляет от поддержки двух отдельных сборок.

📊 Ваше приложение уже адаптировано под HMS?
Да, работает на обоих стеках
Только планирую портирование
Разрабатываю под HarmonyOS с нуля
Пока изучаю экосистему

Конфигурационный файл agconnect-services.json подключается к проекту по аналогии с google-services.json — без него вызовы HMS API не пройдут авторизацию. Файл скачивается из AppGallery Connect после создания проекта и привязки пакета приложения.

Инструменты разработки: DevEco Studio и интеграция в Android Studio

Для разработки под HarmonyOS используется официальная среда DevEco Studio — IDE на базе IntelliJ-платформы с эмуляторами, профилировщиком и поддержкой ArkTS/ArkUI. Она распространяется бесплатно, но для полноценной работы требуется авторизация учётной записью Huawei.

Если речь идёт о портировании Android-приложения, отдельная IDE не нужна: HMS SDK подключается в привычной Android Studio через Gradle-зависимости. Типовая последовательность выглядит так:

// build.gradle (project)

repositories {

maven { url 'https://developer.huawei.com/repo/' }

}

Далее добавляются зависимости нужных китов и применяется плагин AppGallery Connect. Точные координаты зависимостей и актуальные версии стоит брать из официальной документации — они обновляются, и зашитые в старые туториалы номера версий могут быть несовместимы с текущим HMS Core.

☑️ Подключение HMS к Android-проекту

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

Тестирование на реальных устройствах

Эмуляторы покрывают не всё: поведение push-уведомлений, работа IAP и некоторые аппаратные функции корректно проверяются только на физическом устройстве с актуальной версией HMS Core. Проверку стоит вести минимум на одном смартфоне Huawei целевого региона продаж.

Для отладки подойдёт стандартная связка ADB и логирования — она работает с устройствами Huawei так же, как с любыми Android-смартфонами. Если физического устройства нет, в AppGallery Connect доступно облачное тестирование на реальных моделях; набор доступных устройств и лимиты зависят от текущих условий сервиса.

⚠️ Внимание: не полагайтесь на проверку «на одном устройстве одной модели». Версии EMUI, HarmonyOS и HMS Core у пользователей различаются, и сервис, работающий на вашем тестовом смартфоне, может вести себя иначе у части аудитории.

Публикация в AppGallery

Загрузка приложения происходит через AppGallery Connect: создаётся черновик релиза, загружается подписанный пакет, заполняются описания, скриншоты, возрастной рейтинг и политика конфиденциальности. После отправки приложение проходит модерацию — проверяются функциональность, соответствие контентным правилам и корректность использования HMS-сервисов.

Типичные причины отклонения, которые стоит проверить до отправки:

  • 📵 Остаточные вызовы GMS, которые приводят к крашам на устройствах без Google-сервисов
  • 📄 Отсутствующая или нерабочая ссылка на политику конфиденциальности
  • 🔞 Некорректно указанный возрастной рейтинг
  • 💳 Покупки, реализованные в обход IAP Kit там, где правила требуют его использования
Можно ли опубликовать один и тот же APK в Google Play и AppGallery?

Технически — да, если приложение не зависит от GMS или корректно деградирует без них. На практике чаще собирают отдельные варианты (flavors) для каждого магазина с разными сервисными зависимостями, чтобы не тащить лишний код в каждую сборку.

Сроки модерации и детальные требования к контенту меняются, поэтому перед первым релизом сверьтесь с актуальными правилами в документации AppGallery Connect. После публикации обновления проходят повторную проверку, что стоит учитывать при планировании релизов.

Распространённые ошибки при портировании

По опыту портирования чаще всего проблемы возникают не с самими HMS API, а с недооценёнными краевыми случаями. Приложение может корректно работать на тестовом устройстве и падать у пользователей из-за сценариев, которые не были проверены.

Первая группа ошибок — предположение, что сервис всегда доступен. Push-токен может быть не получен, HMS Core может быть отключён пользователем, а геолокация — запрещена на уровне системы. Каждый вызов должен иметь обработку отказа. Вторая группа — смешение стеков: подключение зависимостей GMS и HMS в одну сборку без разделения логики приводит к конфликтам и непредсказуемому поведению.

⚠️ Внимание: не используйте неофициальные обходные решения для запуска Google-сервисов на устройствах Huawei как основу продукта. Такие схемы нестабильны, могут нарушать правила магазина и ломаются при обновлениях системы.

FAQ: частые вопросы разработчиков

Нужно ли переписывать приложение полностью под Huawei?

Нет. Если приложение написано под Android, достаточно заменить зависимости от Google-сервисов на HMS-аналоги или сделать их опциональными. Полное переписывание требуется только при переходе на нативную разработку под HarmonyOS.

Можно ли тестировать HMS без физического устройства Huawei?

Частично — через эмулятор и облачное тестирование в AppGallery Connect. Однако push-уведомления, платежи и некоторые аппаратные функции надёжно проверяются только на реальном смартфоне с актуальным HMS Core.

Платная ли регистрация разработчика Huawei?

Создание учётной записи и доступ к основным инструментам бесплатны. Отдельные облачные сервисы и расширенные лимиты могут тарифицироваться — условия стоит уточнять в документации конкретного сервиса.

Что делать, если приложение отклонили при модерации AppGallery?

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

Подходит ли DevEco Studio для обычной Android-разработки?

DevEco Studio ориентирована на HarmonyOS-проекты. Для портирования Android-приложения под HMS удобнее привычная Android Studio с подключёнными HMS-зависимостями через Gradle.