Открыть сервисСервис

MicroG Services — сервисный пакет для Android

MicroG Services (стилизовано как microG GmsCore) — это свободное и открытое программное обеспечение, реализующее набор проприетарных сервисов Google (Google Play Services) для устройств под управлением Android. Проект предоставляет совместимые заменители компонентов, которые обычно предустанавливаются на смартфоны и требуются многим приложениям для работы push-уведомлений, геолокации, синхронизации данных и доступа к магазину приложений.

Назначение и контекст

В стандартных сборках Android от Google (GMS) в состав прошивки входит набор закрытых компонентов: Google Play Services (GmsCore), Google Services Framework, Google Play Store и ряд вспомогательных модулей. Эти компоненты обеспечивают системный уровень взаимодействия приложений с инфраструктурой Google: доставку push-уведомлений через канал Firebase Cloud Messaging (FCM), определение местоположения на основе Wi-Fi и сотовых вышек, доступ к учётной записи Google, лицензирование приложений и другие функции.

MicroG Services выполняет роль совместимой замены GmsCore. Проект не является клоном кода Google: он написан с нуля, использует открытые протоколы и публичные интерфейсы, документированные сообществом. Основная мотивация использования microG — возможность обхода зависимости от проприетарного ПО Google при сохранении совместимости с приложениями, ориентированными на Google Play Services.

Возможности

Функциональность MicroG Services включает:

  • Push-уведомления. Реализация клиентской части Firebase Cloud Messaging, позволяющая приложениям получать сообщения в фоновом режиме. Для доставки используется открытый сервер push-уведомлений UnifiedNlp.
  • Геолокация. Определение местоположения на основе данных Wi-Fi сетей и сотовых вышек без использования серверов Google. Модуль UnifiedNlp поддерживает несколько бэкендов, включая Mozilla Location Service и собственные базы.
  • Учётные записи Google. Возможность входа в аккаунт Google для синхронизации контактов, календаря и почты. Функция реализована через обратную инженерию закрытых протоколов и может работать нестабильно при изменении API со стороны Google.
  • Лицензирование приложений. Модуль FakeStore или встроенный клиент Google Play Store обеспечивают проверку лицензий для приложений, купленных в Google Play.
  • Доступ к магазину приложений. Вместе с microG обычно устанавливается F-Droid или Aurora Store — альтернативные клиенты для установки приложений.

Установка и совместимость

MicroG Services не устанавливается как обычное приложение на стандартную сборку Android с Google Play Services: для его работы требуется доступ к системным привилегиям. На практике это означает одну из следующих схем:

  1. Кастомные прошивки с поддержкой signature spoofing — например, LineageOS для microG (ранее LineageOS with microG), crDroid, /e/OS и другие сборки, в которых подмена подписи приложений встроена в систему.
  2. Модификация системного раздела через Magisk или подобные инструменты на устройствах с разблокированным загрузчиком.
  3. Установка на устройства без Google — например, на китайские смартфоны без GMS или на планшеты с альтернативными прошивками.

Проект официально поддерживает устройства с Android 5.0 и выше. Часть функций (в частности, push-уведомления) требует, чтобы приложение имело постоянное фоновое соединение, что может увеличивать расход батареи по сравнению с аппаратно оптимизированными сервисами Google.

История проекта

Разработка microG началась в 2012 году под названием «FakeStore» и «GmsCore» как часть сообщества, продвигающего свободные альтернативы проприетарным сервисам Google. Проект развивался на платформе SourceForge, а позже был перенесён на GitHub. В 2017 году вышла стабильная версия 0.2.4, закрепившая поддержку FCM push-уведомлений. В 2019 году появился LineageOS for microG — сборка на основе LineageOS с предустановленным microG и включённым signature spoofing. В 2021 году вышла версия 0.2.22 с улучшенной поддержкой Android 11 и 12.

Критика и ограничения

Основные претензии к microG связаны со стабильностью: обновления закрытого API Google могут ломать совместимость, а вход в учётную запись Google периодически блокируется. Кроме того, часть приложений (банковские, стриминговые) используют проверку на наличие GMS и отказываются работать при их отсутствии. Проект не является юридически спорным с точки зрения лицензирования: код распространяется под лицензией Apache 2.0, однако обратная инженерия протоколов Google формально может нарушать условия использования сервисов Google.

Применение

MicroG Services активно используется в сообществах, ориентированных на приватность и свободное ПО: на устройствах с /e/OS, CalyxOS (там используется отдельная реализация — UnifiedNlp), GrapheneOS (не поддерживает microG напрямую, но допускает установку через sandbox), а также пользователями, желающими уменьшить зависимость от экосистемы Google.

Источники:

  • Официальный сайт проекта microG (microg.org)
  • Репозиторий проекта на GitHub (github.com/microg)
  • Документация LineageOS for microG
  • Статья о push-уведомлениях в Android на XDA Developers
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru