Google работает над ARCVM, новым способом запуска Android-приложений в Chrome OS

В течение последних нескольких лет на многих устройствах Chromebook можно было установить магазин Google Play и запускать приложения для Android. Это дало Chrome OS возможность стать чем-то большим, нежели просто не очень популярной операционной системой, основанной на популярном браузере. Но теперь Google решила внести с свою десктопную ОС некоторые существенные изменения, касающиеся ее поддержки Android-приложений, что, наконец, может позволить использовать одну давно запрашиваемую пользователями функцию.

История Android на Chrome OS

Около четырех лет назад Google разработала способ для запуска в браузере Chrome Android-приложений под названием Android Runtime for Chrome (ARC). Изначально технология создавалась с оглядкой на Chrome OS, но позже разработчики выяснили, что ее можно использовать для запуска Android-приложений в браузере Chrome на любой настольной платформе.

Хотя ARC первого поколения и работала достаточно хорошо, Google хотела создать что-то более полезное и больше заточенное под Chrome OS. Таким образом, компания начала разработку ARC следующего поколения, которая получила название ARC++. Новая версия ARC еще глубже интегрировала Android Runtime с Chrome OS, позволив поставить в систему такие вещи, как Google Play. Именно поэтому сегодня Android-приложения работают на устройствах Chromebook.

Создание ARC++ стало возможным отчасти потому, что Chrome OS, как и Android, основана на ядре Linux. Для обеспечения высокого уровня безопасности, ARC++ фактически работает в так называемом «контейнере», который является способом изоляции фрагментов Android от остальной части Chrome OS. Хотя ARC++ в данном виде и работает, команда разработчиков Chrome признала, что им есть куда расти и развивать свою технологию.

Прибегая к различным методам мы пытаемся немного изолировать нашу разработку от основной системы, но, в конце концов, ARC имеет прямой доступ ко многим системным функциям и интерфейсам, поэтому случайная ошибка, которая возникнет в коде ARC, может сильно повлиять на всю систему в целом.

Если вы хотите узнать немного больше об ARC++, есть отличное наглядное объяснение процесса ее подключения к Chrome OS от Дэвида Ривемана, который когда-то был членом команды Chrome и с тех пор перешел в подразделение Fuchsia.

Linux на Chrome OS — не та же самая Linux

В прошлом году Google заявила, что собирается предпринять большие усилия для того, чтобы сделать приложения Linux доступными для установки и использования на Chrome OS (что является проектом Crostini), но, естественно, это было намного легче сказать, чем сделать. Если вы подумали о том, что Chrome OS основана на Linux, а это означает, что на ней должно быть относительно просто запускать приложения для Linux, то не спешите с выводами, так как все сильно сложнее.

Чтобы запускать программы для Linux на Chrome OS, команда Chrome решила создать виртуальную машину (или VM) для запуска Debian (дистрибутива Linux) и интегрировать эту VM с Chrome OS. Да, они могли бы использовать уже существующую технологию виртуальных машин, подобную QEMU или VirtualBox, но подумали и решили, что лучше создавать такие специализированные инструменты с нуля. Создали, и назвали их «crosvm» и «Termina».

Причин для использования виртуальной машины было немало, но самой очевидной была безопасность. Прямой доступ к ядру Linux в Chrome OS создает больше возможностей для попадания в нее вредоносного кода или даже вирусов.

На Android Google контролирует экосистему приложений через Google Play, что обычно означает, что приложениям можно доверять. Но если вы хотите загружать приложения из сторонних источников, вам нужно перевести ваше устройство в режим разработчика, так как именно в нем позволено совершать с устройством подобные потенциально небезопасные вещи.

В Linux, где у Google нет такого уровня контроля, невозможно было ограничиться только доверенными приложениями. Использование виртуальной машины решает эту проблему, так как если вы установите вредоносное приложение, вы сможете просто выключить виртуальную машину, удалить ее и создать заново, не затрагивая при этом саму Chrome OS.

Создание виртуальной машины, интегрированной с Chrome OS, чтобы приложения Linux чувствовали себя на Chromebook как дома, тоже не обошлось без трудностей. Например, в последнее время команда разработчиков приложила много усилий, чтобы в Chrome OS можно было без проблем запускать более графически насыщенные Linux-программы и, возможно, даже игры.

Реализация ARCVM

Вообще, Google не планирует вносить какие-либо изменения в исходный код Android-приложений на Chrome OS. Тем не менее, как стало известно, команда Chromium прилагает все усилия к тому, чтобы поддержка Android-приложений в Chrome OS была больше похожа на поддержку приложений Linux.

Все эти усилия сводятся к технологии ARCVM (сокращение от ARC Virtual Machine), которая, исходя из имеющихся доказательств, использует наработки проекта Crostini, чтобы запускать Android через ту же виртуальную машину Termina. Перейдя на виртуальную машину, при запуске Android в Chrome OS сможет использовать те же функции для обеспечения безопасности, а также будет поддерживать возможность простого сброса, если что-то пойдет не так.

Надлежащая изоляция приложений Android от Chrome OS в целом создаст для Google возможность загружать Android-приложения без необходимости входа в режим разработчика. Возможность загрузки Android-приложений уже давно востребована пользователями Chrome OS, так как многие приложения, помеченные как «несовместимые» с Chromebook, на самом деле работают на ней просто отлично. Помимо прочего, это также позволило бы устанавливать на Chrome OS сторонние магазины приложений, такие как Aptoide.

Если Google сделают то, что задумали, разработчики приложений для Android смогут установить Android Studio на Chromebook, создать свое приложение и протестировать его на устройстве, не заходя при этом в режиме разработчика. Учитывая недавние шаги Google в сторону более «безопасной разработки» с помощью Chromebook, это кажется наиболее вероятным стимулом для развития ARCVM.

Однако, как и в случае с другими незавершенными проектами, обнаруженными в Chromium, существует вероятность того, что проект ARCVM может быть полностью свернут, как и Campfire в свое время. После создания рабочего прототипа команде разработчиков нужно будет взвесить все за и против, чтобы понять, перевешивает ли возросшая безопасность и возможность загрузки сторонних приложений влияние, которое они могут оказать на производительность более дешевых устройств семейства Chromebook.

Поскольку работа над ARCVM все еще продолжается, и это никоим образом не подтвержденный проект, невозможно сказать, когда, если вообще когда-нибудь, мы увидим его вживую на наших устройствах. Можно предположить, что анонс случится либо в конце этого года, либо во время запуска Android Q на Chrome OS.

Делитесь своим мнением в комментариях под этим материалом и в нашем Telegram-чате.

Теги
Лонгриды для вас
Как на Android включить управление нажатиями по задней крышке из iOS 14

В прошлом месяце Apple представила iOS 14, одним из нововведений которой стал механизм Back Tap. Благодаря ему пользователи могли активировать определённые функции совместимых моделей iPhone прикосновениями к задней крышке. Понять, как это работает, было довольно сложно. С одной стороны, Apple никогда не заявляла наличие сенсорной панели в задней крышке, а с другой, поверить в то, что такое возможно реализовать на основе уже имеющихся в смартфонах датчиков, было довольно сложно. К счастью, активировать у себя эту функцию может любой желающий.

Читать далее
Наконец-то! Google сделала удобным автозаполнение банковских карт в Chrome

Если вам когда-нибудь приходилось оплачивать покупки в интернете, вы должны знать, как это неудобно. Для этого нужно было ввести данные банковской карты, переписать написанное латиницей имя, дату окончания срока действия и, конечно, венец любой платёжной карты - трёхзначный CVC-код. Бесспорно, с появлением механизма автозаполнения всё стало заметно проще, но вот необходимость подтверждать платёж вводом CVC-кода никуда не делась. Почему-то следующего за этим подтверждения кодом из SMS было недостаточно. Хорошо, хоть Google исправила эту ситуацию.

Читать далее
Android 11
Самые интересные функции Android 11, о которых вы могли забыть

Выход любой операционной системы связан с поиском в ней новых функций. Обычно даже производитель не всегда все перечисляет. Делается ли это умышленно, чтобы больше обсуждали, или просто чтобы не перегружать информацией, мы не знаем. Но в итоге многое остается незамеченным. Например, в Android 11 к таким функциям относится возможность настраивать чувствительность работы жестов, отмена некоторых ограничений на съемку видео и даже аннулирование прав доступа для приложений, которыми вы давно не пользовались. Все это и многое другое заслуживает вашего внимания, поэтому давайте вспоминать, что мы пропустили, и думать, как начать этим пользоваться.

Читать далее
Новый комментарий