27 августа 2017 г. в 16:09
Сказ о том, как я стал более свободен. Android без Google Apps

Дисклеймер: если вы жить не можете без «Окей, гугл», то лучше пропустите этот пост, чтобы не калечить психику.

Однажды я перепрошил свой телефон, а раз так, то решил заодно попробовать отказаться от Google Play Services. Google Apps поставляются с большинством android смартфонов, множество программ привязаны к ним, зачем мне всё это нужно? Вот в чём дело:

  • Любое приложение (даже не требующее никаких прав) может с ним общаться.
  • GApps имеют доступ к сети.
  • GApps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • GApps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • GApps — нереально огромное количество кода. Стоковый образ (если верить http://openGApps.org/) будет весить около 700Мб.

С точки зрения безопасности звучит очень печально. С точки зрения пользователя это означает, что попросту они занимают много места и разряжают аккумулятор.

Так давайте скорее удалим их? А вот всё не так просто.

А что если удалить GApps?

Во-первых, современные прошивки сильно привязаны к гуглосервисам. Это означает, что скорее всего вам придётся перепрошить свой смартфон на прошивку, которая поставляется без GApps, либо удалить их с помощью скрипта, если кто-то установил GApps на ваш AOSP/CyanogenMod/LineageOS, или у вас стоковая прошивка Nexus/Pixel.

Во-вторых, большое количество приложений привязаны к Google Apps и тяжело отказаться от разнообразия android программ. Amazon, например, имеет свой немаленький магазин приложений, для попадания в который нужно пересобрать приложение с перепривязкой на Amazon сервисы. Яндекс, например, воспользовался своим положением и решил пойти простым путём — обратился за помощью к государству, чтоб тот наказал гугл за то, что он такой молодец, на свободном рынке смог занять доминирующую позицию. А вот о проектах, которые выступают в роли прокси для гуглов, амазонов и прочих - не слышно.

Нас спасёт microG

Но суть не в этом. Часто тяжело отказаться от GApps и к нам на помощь приходит microG - свободная реимплементация проприетарных Google Play Services Framework. Программы, использующие гугловые сервисы, работают, пуши от них приходят, навигация по WiFi (на основе данных Mozilla, OpenBMap, Apple, или локальной базы) работает, вместо встроенных в приложения Google Maps отображается OpenStreetMap, Play Store тоже можно открыть (как установив официальное приложение, так и свободную реализацию Yalp Store). Даже на хромкаст можно транслировать из ютуба (он использует первую версию Cast API, а большинство приложений — v2, которая пока что не реализована). Что ещё нужно? И ведь всё это можно настроить, разрешив или запретив каким-то приложениям доступ к пушам, например.

Однако, и к прошивке, на которую можно установить microG существуют дополнительные требования: она должна либо из коробки поддерживать подделку подписи, либо быть деодексированой (проще говоря, в подпапках /system/app и /system/framework не должно быть файлов *.odex).

Установка microG

Проще всего установить microG следующим образом:

1. Сначала прошить Magisk поверх прошивки — такую полезную штуку, которая позволяет вносить изменения в /system поверх раздела, не модицицируя его, а также прятать рут от приложений типа Сбербанка и Покемонов.

2. Прошить NanoMod — модуль для Magisk, который позволяет установить разом microG, репозиторий свободных приложений F-Droid, набор OpenSources альтернатив приложениям и новые рингтоны =) Рекомендую перед прошивкой NanoMod-VERSION.zip запустить NanoMod-setupwizard-VERSION.zip и выбрать, что хотите.

3. Разобраться с подделкой подписи. Об этом смотрите в документации о Signature Spoofing. Мне же показалось проще вручную пропатчить файл, воспользовавшись этой инструкцией.

4. Всё! Теперь вы свободны от рабства гугла =) Не забывайте только, что кроме гугл сервисов ваши данные также сливают множество других проприетарных приложений.

Далее хочу поделиться списком некоторых моих приложений, некоторые из которых я давно уже использую, а некоторые — нашёл только сейчас, с полным отказом от Google Apps.

Список установленных у меня приложений

Для начала, я использую лаунчер Smart Launcher v2.12. Хоть я и отключил доступ в интернет этой проприетарщине и приходится вручную перемещать иконки между категориями, не могу отказаться от удобной категоризации программ и открытия категорий свайпом.

Fennec F-Droid — он же Firefox, только с вырезанными бинарниками.
Kate MoDile — (проприетарь) неофициальный клиент для VK. Отличается от Kate Mobile возвращённым кэшем для музыки. Ни в коем случае не используйте официальное приложение Вконтакте!
OpenVPN для Android — чтоб выходить в интернет через мой сервер. В Печальной России Настоящего без этого никак =(
ProtonMail — (проприетарщина) не особо доверяю закрытым решениям, да и POP3/IMAP/SMTP не поддерживается, но не нашёл лучше.
Tusky — клиент для Mastodon. Это такой твиттер с ограничением в 500 символов, децентрализацией и открытым кодом. Я уже писал об этом сервисе ранее.
Ingress — (проприетарщина) играю я в эту игрушку, да. Привязана к гуглосервисам и microG прекрасно их заменяет.
NewPipe — позволяет смотреть ютуб с выключеным экраном, в свёрнутом режиме, в плавающем окошке, менять скорость воспроизведения и многое другое. Но не поддерживает возможность подписки на каналы.
Youtube — (проприетарщина) SkyTybe умеет использовать собственные подписки, но не поддерживает стримы, потому вынужден использовать официальное приложение YouTube, некоторые видео открывая в NewPipe.
PodListen — приложение для прослушивания подкастов.
OsmAnd~ — оффлайн навигация.
StreetComplete — приложение, в котором в формате квестов можно улучшать OpenStreetMap.
AdAway — блокировщик рекламных баннеров.
Amaze — файловый менеджер и не только. Хорошая открытая альтернатива скатившемуся ES Проводник.
F-Droid — репозиторий открытого ПО для Android. Кстати, сейчас уже можно скачать альфа версию приложения, где значительно улучшен интерфейс.
FBReader — чтоб книжки читать.
KDE Connect — программка для интеграции смартфона с KDE и другими оболочками линуксов.
Keepass2Android в автономном режиме — менеджер паролей. На десктопе для управления базой паролей использую KeePassXC.
oandbackup — замечательная утилита для бекапов.
Syncthing — программа для p2p синхронизации данных с десктопом и другими вашими устройствами.
Yalp Store — чтобы скачивать приложения из Google Play Store.
AFWall+ — файрвол для андроида.
Клавиатура Android (AOSP) — поддерживает набор свайпом. Как gboard, только без слива текстов в гугл.

Вместо вывода

Несмотря на то, что Android — открытая операционная система, она сильно привязана к проприетарным компонентам. Здорово, что появляются проекты типа microG, но для обычного пользователя крайне сложно на них перейти. Ну а лично я с отказом от GApps увеличил свободное место в памяти телефона и увеличил его время работы от зарядки. Сейчас, кроме экрана, больше всех энергии отбирает Шагомер, но это временно, пока не появится браслет.