Найти в Дзене
Mobile Developer

Нужен ли нам свой Android?

Всем привет. Недавно интернет всколыхнула новость, которая вызвала большое количество споров в профессиональных коммьюнити. А, если честно, новости было даже две. Первая (https://www.cnews.ru/news/top/2023-01-13_otechestvennoj_os_avrore) о том, что власти отказались выделять 22 миллиарда на нашу ОС Аврора (спойлер: никто их на Аврору именно и не собирался выделять), и вторая (https://vc.ru/tech/574320-vk-yandeks-sber-i-rostelekom-planiruyut-sozdat-mobilnuyu-os-na-baze-android), что Vk, Сбер и иже с ними планируют создать свою ОС на базе AOSP (Android Open Source Project)

Давайте попробуем разобраться, какое из этих решений нам подходит лучше и какой хе-хе стул выбрали для нашего светлого мобильного будущего. К сожалению, эта тема настолько обширна, что ее можно на целый десятитомник расписать, поэтому мы поступим следующим образом: я напишу, в некотором смысле, обзорную статью в которой будут некоторые тезисы, а вы, если они покажутся вам спорными или интересными в комментариях напишете, что нужно раскрыть поподробнее. Алсо мобильной разработкой я занимаюсь уже 10 лет еще со времен, когда был жив Windows Phone и пишу примерно на 5-6 языках (obj-c, java, kotlin, swift, c#, js) и в теме немножко понимаю, так что погнали

Ну что ж начнем мы с раскрытия понятия, что такое AOSP? Почему именно с этого? А потому что любой человек, которому начинаешь рассказывать про свою ОС спрашивает вначале, а можно ли на нее будет поставить аппки свои любимые (вк, телегу и тд), а потом как узнает, что нельзя сразу же такой “Ну блииин, а почему просто нельзя взять андроид и переделать под себя?” Поэтому, вроде как, идея самая перспективная на первый взгляд

Так что же такое AOSP? Как следует из названия, это проект андроида выложенный в опенсорс. То есть, на первый взгляд, любой человек его может скачать и сделать на нем свою операционную систему и кайфы, мы победили, у нас своя ОС и мы молодцы. Тут следует задать один очень важный вопрос: А почему за более чем 10 лет существования этого AOSP, такую попытку серьезно предпринял лишь один крупный игрок (Huawei) и то, только после того, как на него наложили санкции?

А потому что не для вас ягодка росла не для того Google вкладывал миллиарды денег в разработку AOSP, чтобы Россия, Китай или любая другая страна сэкономила себе кучу сил и времени в разработке своей операционной системы. Поэтому идем и читаем соглашение, которое мы принимаем, если вдруг решаемся поработать с Android SDK. Если что прочитать его можно тут https://developer.android.com/studio/terms

Самое интересное у нас вот тут

И еще вот тут

И наконец вот тут

-3

Если упрощать, то американцы держат руку на пульсе и по любому щелчку их законодательства пострадают (это самое смешное) даже не те, кто взяли и грязно использовали их AOSP в своих порочных целях (например Huawei), а те, кто потом под эту операционную систему написали приложения (используя SDK) и распространили их через всякие там сторы. На этот случай, кстати, Huawei подстраховались и выпустили свою DevEco студию, которая вроде как не имеет прямого отношения к Android SDK.

Возможно вам все равно на то, что на вас точит зуб США, вы живете в Сибири, вам глубоко пофиг на санкции и вообще никогда не покидаете территорию России, но мне бы вот не хотелось, чтобы эти ребята точили на меня зуб персонально.

Окей, а для чего-же тогда Google вообще выпускает свою ОС в Open Source? Ну делали бы как Apple все закрытое и все. Ну ответ на этот вопрос дают сами Гуглы:

https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html?m=1
https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html?m=1

Если вкратце, то из-за проблем с легаси (то есть так исторически сложилось) Андроид очень сильно фрагментирован по железу и так тупо удобнее работать с их ЛЕГАЛЬНЫМИ вендорами типа Samsung, Xiaomi и тд. Потому что здесь как раз работает основной принцип Опен Сорс: если что-то не нравится - допили напильником сам. Это, кстати, приводило к ужасной ситуации, когда ядро андроида от вендора не патчилось годами (из-за чего Андроид до сих пор имеет славу небезопасной ОС). Именно поэтому начиная с Android 8 Google начала отделять свою часть от вендор части и теперь поставляет апдейты безопасности по воздуху, так что ваши фотки котиков под защитой. К Android 13 они практически закончили свою работу по созданию модульной ОС, а к 15 версии (оценочное суждение) она будет уже полностью Vendor Unlocked, и после этого AOSP вероятно перестанет быть опен сорс.

Еще раз красным: Гугл держит АОСП открытым не для того, чтобы вам было хорошо или кто-то там стал делать свои версии, а для того, чтобы им тупо было удобнее работать. Это ключевая мысль данного поста.

Пруф: https://source.android.com/docs/setup/start/codelines#private-codelines

Но давайте же посмотрим какие проблемы поджидают незадачливого AOSP форкера-гигачада на пути создания своего Андроида с блэкджеком и профурсетками. Следующий подводный камень это девайсы. ОС надо на что-то накатывать (и тут, кстати, забавно, что Андроид это единственная бесплатная ОС и я думаю вы догадываетесь, что это не от щедрот душевных), а для этого внезапно нужны заводики, а на заводиках должны быть линии сборки, а еще туда должны поставляться комплектующие и тд и тп.

Как вы понимаете, заводиков этих не то, чтобы очень много и Google за ними тоже приглядывает. Потому что от работы этих заводиков зависит гегемония Android на всей планете. И тут мы знакомимся с ее величеством MADA. Что такое MADA?

А это договор между Google и производителями телефонов об установке сервисов гугл, идёт вместе с договором AFA , по которому производитель клянётся, что не будет выпускать Android телефоны без GMS. GMS - это если что Google Mobile Service, то есть геолокация, пуш-уведомления, Play Market и еще куча вещей, которые ставятся поверх голого Android, чтобы вы не называли этот телефон бесполезным гавном. Huawei, например, для этого разработала свой аналог GMS, который называется HMS (Huawei Mobile Services) и когда мы говорим про Android и Harmony OS на самом деле мы говорим про Android c GMS и Android c HMS (У нас видимо это будет называться мобильные сервисы и точка)

Так вот, вернемся к MADA. Это секретный договор, но его отдельные части всплывали в судах. Более подробно можно прочитать тут (https://androidcommunity.com/googles-mada-defines-rules-for-android-device-makers-20140505/). Если вкратце, то схема выглядит так. Представим что вы Huawei и собираетесь сделать свою клёвую версию Андроида без всех этих западных грязных ценностей, но тут встает вопрос, а где мы будем брать телефоны на которые будет ставиться этот Android?

Мы такие приходим к Xiaomi и говорим “братушки, Си нефритовый стержень и партия сказали выдать нам миска риса и линию под производство своих телефонов”, на что Xiaomi отвечает, что он связан MADA и если он напечатает хоть один телефон, то ВСЕ его заводы получат -50 социального кредита и запрет на создание телефонов Android c GMS по всему миру. Естественно, ни один мануфактурщик в здравом уме тупо не пойдет на это и тут не помогает даже коллективность Китая. Именно по причине MADA в Китае (и в любой другой стране) не сложилась ни одна национальная система на базе AOSP, поэтому я понятия не имею о каком там триумфе и успехе Huawei говорят, но мы все понимаем как обычно.

И именно по этой причине Китай сейчас делает OpenHarmony и переделывает HarmonyOS на принципиально новый формат .hap на базе js. Посмотрим, что будет во втором раунде этого интереснейшего поединка. Huawei пока держится тупо потому что у них свои заводы есть и они в этом плане могут класть на MADA большой и толстый нефритовый стержень, так как уже находятся под санкциями. Но, тем не менее, ни одного Xiaomi на Harmony OS мы так и не увидели

Ну, а что с производством телефонов в России? Вы, наверное, удивитесь, но они есть у нас. У нас есть свои заводы и компании такие как AYYA, F+ и так далее. Можете погуглить их в интернете и сами принять решение будете ли вы покупать такие телефоны вместо существующих андроидов, harmony и iOS поставляемых по параллельному импорту.

А теперь давайте к завершающему пункту. А мы-то нафига в это полезли, если у Huawei такие печальные результаты и картина такая плохая? Неужели у нас это не просчитали? Отставить панику, гусары. Там точно сидят не глупые люди. Все очень просто. Когда грянул гром и таки мужик перекрестился (то есть когда аппки начали массово сносить из сторов), выяснилось, что единственное куда можно накатить снесенные аппки из сторов это на андроид через свой магазин.

Был срочно запилен рустор (я точно такую же задачу решал сам лично и заняло это 3 месяца у меня одного, так что задача не сильно сложная) и вроде как happy end, но не все так просто. Дело в том, что (не вдаваясь в детали) в андроид нужно дать уровне производителя телефона разрешение вашему приложению делать определенные действия. Это называется внести в white list. И одно из таких действий это пуш-уведомления. Ну нельзя рассылать пуши через rustore просто так. Нужно, чтобы это было добавлено в white list. Можно там дико исхитриться и путем адского выжирания батарейки юзера (так что если у вас батарея дико садится можно снести рустор - должно стать полегче) присылать пуши иногда, но реалтайм этих пушей не сможет гарантировать вам никто.

Поэтому на сайте рустора написано, что их сдк подходит только для так называемых маркетинговых пушей, то бишь всякие рекламы там, все что не привязано ко времени. Доставку еды из вашей любимой пиццерии к этому пушу не привяжешь. Кстати, наше правительство может издать хоть 500 законов, обязывающих вендоров добавлять rustore в white list, но, так как, 90% телефонов идут по параллельному импорту, то туда никто ничего добавлять не будет.

И второй момент, который есть. У существующих приложений, таких как СБОЛ, Яндекс Еда, Телеграм и так далее огромная (просто бесконечная) кодовая база, которую, в случае полностью своей ОС, нужно переписывать под нее. Это очень дорого, ну примерно 22 млрд, которые и хотели дать этим компаниям, чтоб они это сделали, но не получилось не фартануло. То есть эти деньги не предназначались на развитие Авроры, а предназначались для развития экосистемы вокруг нее.

Аргумент про переписывание довольно серьезный и тут может быть два мнения: делать под свою ОС или делать копию AOSP. Имхо, первый вариант предпочтительнее. Те причины, которые привели к фейлу Huawei точно также зафейлят и нас, но мы потеряем кучу времени. А расходы на переписывания СБОЛа точно не такие гигантские как на допиливание Android под себя. У Huawei вон спросите. К тому же есть способы чисто технические как писать так, чтоб это было дешевле и не нужно было держать отдельную команду. Если вдруг меня читают ответственные люди напишите мне и спросите - я расскажу как.

То есть затея про свой андроид - это тупо следствие развития RuStore и тут люди вложились уже, а вы тут со своей Авророй. Некоторые называют это вредительством, на мой взгляд нет. Это старая добрая жадность и желание сделать все нахаляву, а что из этого хуже решаете вы. Все выводы у нас на канале вы делаете сами как говорят хе-хе классики.

А нас ждет чудо ОС, с которой нельзя будет выехать за пределы РФ (оценочное суждение), с кривым-косым андроидом, на брендах класса С (потому что А и Б даже на пушечный выстрел не подойдут из-за MADA) по цене в 90 тысяч рублей (утрирование).

Ну, а на этом я с вами прощаюсь. Как я уже писал в начале, если это интересно готов поделиться еще информацией. Пишите в комментариях, что именно интересует

Ну, а для тех у кого много времени - вот вам еще ссылок:

  1. Гугл прессует Южную Корею. Кстати, Samsung особенно жалко - Гугл их уже просто изничтожил почти https://www.theverge.com/2021/9/14/22673202/google-south-korea-android-fork-fine-anti-fragmentation-agreement-antitrust
  2. А вот, что вам будет если вы плохой мальчик решили форкнуть АОСП https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/