- PVSM.RU - https://www.pvsm.ru -
Каждый выбирает свой "уровень погружения". Вам не обязательно следовать каждому пункту из этого поста. Моя цель — показать, насколько хорошо развита экосистема на данный момент и чего вы можете и не можете от неё получить. Делайте выводы самостоятельно. Хотите — меняйте прошивку полностью и переходите на microg. Хотите — просто поставьте на свой телефон f-droid прямо рядом с gplay. Хотите — не делайте ничего.
Давайте поговорим об экосистеме приложений свободных приложений с открытым исходным кодом на Android. Попробуем установить MicroG — свободную реализацию сервисов Google на Android. Посмотрим, как и зачем со всем этим жить.
Далеко ходить не нужно, в соседних постах можно найти множество [1] примеров [2] того [3], как разработчиков выгоняют из Google Play по тем или иным причинам, заставляя общаться с ботами без возможности реальной аппеляции. Некоторые типы приложений теперь принципиально невозможно распространять (например, блокировщики рекламы, да и в принципе приложения обхода любых ограничений [4]).
Мне, как параноику, не нравится, что у стороннего лица появляется практически полный доступ к моему устройству. Google способен как минимум удалить с моего телефона любое приложение в любой момент и собрать с него произвольные данные. Более того, google play service — это огромное (стандартная поставка — 600Мб, минимальная — 95Мб) количество постоянно обновляющегося кода, часть которая работает с системными привилегиями. Для сравнения, дистрибутив MicroG может весить всего 4Мб.
Я, конечно, и раньше был не очень высокого мнения о среднестатистическом приложении для андроида, но был серьёзно удивлен своим новым телефоном одного китайского производителя. После покупки, мне пришлось три дня ходить со стоковой прошивкой из-за ограничений разблокировки (вот она — еще одна причина не доверять свои устройства компаниям). Я честно не понимаю, почему этим пользуются и почему это любят. Мне постоянно (несколько раз в час) приходили непонятные уведомления (дайте разрешение, обновите меня, реклама). Что-то постоянно обновлялось. Стоковый браузер в один момент просто перестал работать.
Исходит из предыдущего тезиса. Если приложения не загружают рекламу, не отправляют статистику и не следят за вами, они потребляют меньше электроэнергии. Это же касается gapps: зачастую, они являются главным потребителем электроэнергии. Да, Google в последнее время серьёзно работает над энергопотреблением. Однако, во-первых, не у всех есть возможность использовать актуальные версии Android. Во-вторых, даже в этих условиях замена gapps на более простое и минималистичное решение позволит вам еще сильнее продлить жизнь от батарейки.
Тоже логичное продолжение предыдущих моментов. Случалось ли с вами такое, что на бюджетном устройстве после очередного обновления gapps вообще не остается места ни на приложения, ни на пользовательские данные? Даже если на вашем не очень свежем устройстве еще достаточно свободных ресурсов, избавление от gapps позволит освежить его.
Google Play Services, gapps, Google Play [6]. Включают в себя как базовые сервисы, необходимые для работы push-уведомлений, геолокации, синхронизации различных данных с Google так и остальной пользовательский софт, использующий всё это (например, Gmail).
Тип уведомлений, работающий через сторонний сервер. Позволяет значительно экономить батарейку, т.к. устройство может полностью заснуть и просыпаться через небольшие промежутки времени, проверяя только одно сетевое соединение на наличие новых событий.
По умолчанию, устройства на Android идут с заблокированным загрузчиком. Обычно, требуется произвести эту процедуру, чтобы иметь возможность устанавливать любые другие прошивки. Разблокировка загрузчика обычно не только даёт возможность модифицировать системные разделы, но и отключает проверку подписи ядра при загрузке.
Права суперпользователя. Точно так же, по умолчанию обычно их нет и необходимо их получать тем или иным способом. Либо установкой прошивки (для lineageos есть addon-su [8]), либо magisk. Обычно в инструкциях предлагают ставить проприетарный и купленный китайцами SuperSU (мы их слушать не будем и поставим опенсорсный magisk [9]). В особо тяжелых случаях иногда приходится использовать эксплоиты (вроде KingRoot).
Позволяет устанавливать прошивки и их модификации в виде zip-архивов. Обычно это TWRP [10], тоже проект с открытым исходным кодом.
Помимо предоставления root, имеет встроенный модуль для скрытия этого самого root от некоторых приложений (полезно для банк-клиентов) и большое множество сторонних модулей. В контексте этого поста для нас будет самым полезным модуль для установки Xposed.
Если Magisk предоставляет модули для модификации базовой системы, то xposed предоставляет модули для модификации и патчинга на лету самого Android. В контексте этого поста будет полезным модуль FakeGapps. Рекомендую ставить его через Magisk, и для конкретной API-версии (соответствующей вашей версии android). К сожалению, обычно поддержка прошивок отстает на одну версию android.
Каталог открытого ПО для Android. Можно использовать как официальный репозиторий, так и сторонние.
Флагман среди opensource-прошивок. Бывший Cyanogenmod.
Условно все устройства можно поделить на следующие классы (в порядке убывания удобности):
При выборе устройства так же нужно смотреть на:
MicroG — открытая реализация gapps. Обеспечивает работу push-уведомлений, api геолокации в использующих это приложениях. Список поддерживаемых api [16].
Для работы требуется функциональность подделки подписи в прошивке. Способы установки, примерно соответствующие градации устройств выше:
Можно установить LineageOS for MicroG [17] и получить практически все перечисленное практически из коробки. Самый простой и удобный способ из всех, рекомендую использовать именно его, если ваше устройство есть в списке поддерживаемых [18].
Можно установить MicroG вручную на любую прошивку, не идущую в комплекте с gapps (почти любая не стоковая прошивка). Однако, в прошивке требуется поддержка подмены подписей (Signature Spoofing).
Не планировал описывать полную инструкцию, но опыт предыдущего поста показывает, что придется.
Процесс установки зависит от способа. Про установку при помощи NanoDroid чуть ниже, здесь описана ручная процедура [20]:
adb shell pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE с ПК или просто pm grant com.android.vending android.permission.FAKE_PACKAGE_SIGNATURE с телефона.После установки и перезагрузки, необходимо зайти в настройки microg и пройтись по чеклисту, дать все необходимые разрешения. Мне на Android 9 понадобилось набрать *#*#2432546#*#*, без этого регистрация пуш-уведомлений не производилась. Тестировать работу можно при помощи Push notifications tester.
Пожалуй, самый простой и удобный способ установить MicroG. Помимо основных возможностей (удаление gapps и установка microg) имеет несколько приятных фич:
Достаточно установить несколько из следующих файлов [26]:
Как было отмечено выше, есть несколько способов решения проблемы.
Update: только что появился пост [36] с более широким обзором приложений.
Лично мне переход на MicroG, F-Droid и AuroraStore дал тот Android, о котором я всегда мечтал. С удобными приложениями, не напичканными рекламой и телеметрией, позволяющие мне не делиться своими данными с Google, но при этом работающими push-уведомлениями, позволили перестать мечтать о недостижимом (смене мобильной ОС на Sailfish/ubuntu phone/etc, где все бы равно для полноценной работы приходится использовать слой для поддержки Android-приложений) и начать жить.
Надеюсь, эта инструкция поможет вам понять, нужно ли вам это в принципе и успешно повторить этот результат.
Автор: Алексей
Источник [37]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/308809
Ссылки в тексте:
[1] множество: https://habr.com/ru/post/425845/
[2] примеров: https://habr.com/ru/company/freeamp/blog/230293/
[3] того: https://pikabu.ru/story/kak_patentnyiy_troll_udalil_moi_igryi_6419601
[4] в принципе приложения обхода любых ограничений: https://habr.com/ru/post/279553/
[5] первого моего поста: https://www.linux.org.ru/forum/mobile/13455353
[6] Google Play Services, gapps, Google Play: https://wiki.lineageos.org/gapps.html
[7] push-уведомления: https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_push
[8] addon-su: https://download.lineageos.org/extras
[9] magisk: https://4pda.ru/forum/index.php?showtopic=774072
[10] TWRP: http://twrp.me/
[11] Magisk: https://magiskmanager.com
[12] Xposed: https://4pda.ru/forum/index.php?showtopic=425052
[13] F-Droid: https://f-droid.org/en/
[14] LineageOS: https://lineageos.org
[15] Устройства с официальной поддержкой lineageos: https://wiki.lineageos.org/devices/
[16] Список поддерживаемых api: https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status
[17] LineageOS for MicroG: https://lineage.microg.org/
[18] в списке поддерживаемых: https://download.lineage.microg.org/
[19] Смотрите инструкции: https://github.com/microg/android_packages_apps_GmsCore/wiki/Signature-Spoofing
[20] ручная процедура: https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation
[21] /d/gapps: https://f-droid.org/en/packages/org.droidtr.deletegapps/
[22] репозитория microg: https://microg.org/fdroid.html
[23] NanoLx: https://nanolx.org/fdroid/repo/?fingerprint=862ED9F13A3981432BF86FE93D14596B381D75BE83A1D616E2D44A12654AD015
[24] модуля magisk systemize: https://github.com/Magisk-Modules-Repo/terminal_systemizer
[25] FakeStore: https://github.com/microg/android_packages_apps_FakeStore/releases/download/v0.0.1/FakeStore.apk
[26] следующих файлов: https://downloads.nanolx.org/NanoDroid/Stable/
[27] Aurora Store: https://4pda.ru/forum/index.php?showtopic=887569
[28] Yalp Store: https://4pda.ru/forum/index.php?showtopic=796113
[29] PlayMaker: https://github.com/NoMore201/playmaker
[30] 4pda app&game: https://4pda.ru/forum/index.php?showtopic=275433
[31] APKPure: https://4pda.ru/forum/index.php?showtopic=728197
[32] К сожалению, их fdroid-репозиторий частично заблокирован в Россиии: https://isitblockedinrussia.com/?host=https%3A%2F%2Ffdroid.bromite.org%2F
[33] DAVx⁵: https://f-droid.org/en/packages/at.bitfire.davdroid/
[34] GadgetBridge: http://gadgetbridge.org/
[35] KDE Connect: https://community.kde.org/KDEConnect
[36] пост: https://habr.com/ru/post/440280/
[37] Источник: https://habr.com/ru/post/440110/?utm_source=habrahabr&utm_medium=rss&utm_campaign=440110
Нажмите здесь для печати.