Виндовс 11 будет поддерживать андроид

Обновлено: 07.07.2024

Мы все очень ждали презентации Windows 11, но как-то нам ее подпортили. Незадолго до презентации слили рабочий билд и поэтому во время ивента ничего по-настоящему нового мы не увидели. Кроме одной вещи: Android-приложения на винде!

Вот это было действительно неожиданно. И мы даже успели немного порадоваться, но потом сразу возникли вопросы. А зачем это нужно и как это вообще будет работать?

Ведь не так давно Microsoft сильно облажались со своей Windows на архитектуре ARM, в которой очень плохо работали x86-приложения. А если у них ничего не получилось тогда, то по какой причине получится сделать фактически тоже самое сейчас, но только наоборот?

Разбираясь в этих вопросах мы буквально прозрели. И поняли, что на самом деле у Microsoft очень далеко идущие планы.

Поэтому сегодня мы узнаем как работает Rosetta от Microsoft, а заодно разберемся, чем эмулятор отличается от транслятора? Узнаем, как Windows стал на Линуксом? И поразмышляем о том, как Microsoft планируют завоевать мир?

Эмуляторы

Начнем с небольшой теоретической части. Программы общаются с процессором при помощи определенного набора инструкций. И для каждой архитектуры этот набор инструкций разный. Поэтому для того, чтобы запустить приложение, написанное под архитектуру ARM на процессоре Intel с архитектурой x86 надо как-то пояснить процессору, что от него хочет чужеродная программа.

Сделать это можно разными способами. И один из самых распространённых — эмуляция.

Например, эмуляторов Android под Windows есть огромное множество. Но в чём же тогда проблема и зачем придумывать что-то еще?


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

Программа, засунутая в эмулятор, даже «не понимает», что сейчас она находится в чужеродной среде. Она как Нео внутри «Матрицы». Вроде вокруг реальный мир, но иногда закрадываются сомнения. Потому что-то там подлагивает, подглючивает, ложки гнутся. Ну вы понимаете. А происходит это потому, что эмуляция несёт огромные накладные расходы.

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

И ладно, если речь идет про какую-нибудь простенькую восьмибитную консоль типа Dendy. Такие эмуляторы не смотря на тотальную неэффективность, будут работать быстро даже на смартфоне времен Windows Mobile. Но вот эмулировать какой-нибудь процессор Intel куда сложнее.

Отсюда и тормоза в Windows на ARM. Ведь Microsoft использовал именно эмулятор для запуска x86-приложений. Кстати, эмулятор назывался WOW64, но получилось совсем не WOW, как вы знаете.

Более того, до сих пор в Windows на ARM не поддерживается эмуляция 64-битных приложений, только 32-битных, то есть именно x86, а не x64, что еще сильнее усугубляет ситуацию. Но этому есть объяснение.

Эмулятор WOW64 изначально был придуман для запуска 32-битных приложений на 64-битной Windows, то есть под важную задачу Microsoft даже эмулятор новый не сделали, а скорее всего просто модифицировали старый.

Но в прошлом году Microsoft обещали, что поддержка 64-битных приложений появится, и очень скоро. И возможно она будет реализована совсем по-другому.

Как, спросите вы? Давайте для примера вспомним как это сделал Apple при переходе с процессоров Intel на свои собственные чипы на архитектуре ARM. При помощи невероятной штуки под названием Rosetta 2.

Ведь там на ARM'е каким-то чудесным образом запускаются x86-приложения практически без потери производительности.

Транслятор


Что такое Rosetta 2? По научному, — это двоичный транслятор, то есть переводчик. Rosetta просто переводит набор инструкций одной архитектуры в другую и всё.

Но чем же это лучше эмуляции? Дело в том, что эмуляция всегда происходит в реальном времени. А Rosetta переводит приложение заранее во время его установки или при первом запуске.

Поэтому когда пользователь открывает приложения он уже работает с нативным кодом, который исполняется без каких-либо дополнительных издержек. И в итоге все работает почти также быстро, как на родном железе!

Но, естественно, всё не так радужно! Иначе никто бы не собирал разные версии приложений под разные архитектуры. У трансляторов есть серьёзные недостатки.

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

И этот процесс называется Just In Time компиляцией. Или JIT-компиляцией.

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

И этот эффект я сам постоянно наблюдаю на новых Mac. Например, неадаптированный Блендер, через Rosetta работал быстрее, чем нативно на моем MacBook Pro 16. Но и за это приходится платить. Как думаете чем? Вашим SSD-диском. Переведенный код занимает много места, а динамическое кэширование изнашивает ресурс SSD. В особенности, такой эффект наблюдается на тяжеловесных программах, которые еще не пересобрали под ARM. Поэтому, приходится выбирать либо быстрая работа, либо долгоживущий SSD.

Intel Bridge


Но почему мы так долго говорим про Apple, если мы тут Windows 11 обсуждаем?

Дело в том, что для запуска Android-приложений в новой Windows, Microsoft решили сделать, примерно тоже самое, что сделали купертиновцы.

Вместе с Intel они разработали технологию Intel Bridge, которую они сами называют пост-компилятор. Но, по сути, это такой же двоичный транслятор.

Microsoft описывает эту технологию так:

«Создается нативное прокси-приложение которое, выступает мостиком между моделью приложения Android и моделью Windows приложения».

Иными словами, как и с Rosetta. Приложение будет переведено в нативный код еще на этапе установки. А недоступные фрагменты будут транслироваться на лету.

А с учетом того, что Android-приложения в своей массе достаточно простые почти не возникает сомнений, что с переводом будет всё в порядке.

В случае Windows, трансляция кода с x86 на ARM — это не основная сложность. Ведь тут еще и несовместимость на уровне ОС.

Android и Windows — это совершенно разные системы. Android основан на модифицированном ядре Linux, а в будущем планирует перейти на чистое ядро Linux. А Windows — это просто Windows. С Linux у Windows нет ничего общего. Так каким же образом тогда будут запускаться Android-приложения?

И вот тут неожиданный момент. Оказывается, еще в 2016 году Microsoft представили подсистему Windows для Linux, Windows Subsystem for Linux или WSL - Windows subsystem for Linux.


Это была специальная подсистема которая позволяла запускать Linux приложения в среде Windows. Система работала хорошо, но медленно, так как она работала поверх ядра Windows NT.

Запросы системы Linux переводились в запросы, понятные ядру Windows, и только потом отправлялись дальше. Это было долго.

Но в 2019 году анонсировали вторую версию подсистемы WSL 2, в которой ядро Linux работает параллельно ядру Windows, что ускорило работу системы в двадцать раз и фактически сделало Windows наполовину Linux.


g

То есть вы правильно поняли, WSL работает и на Windows 10, просто её нужно ставить отдельно. А вот в Windows 11 подсистема Linux будут встроена из коробки.

Как понимаете, наличие полноценного рабочего ядра Linux позволило Microsoft добиться максимальной совместимости с Android-приложениями.

По описанию Microsoft Android-приложения будут вести себя также как и обычные приложения Windows и этому можно верить:

  • Они будут открываться в отдельном окне
  • Можно будет закрепить приложение на панели задач
  • Будет полноценная поддержка: клавиатуры, мыши, тача и даже Bluetooth-наушников.
  • Более того — можно будет перекидываться файлами между Windows и Android-приложениями.
  • При этом уже сейчас Android поддерживает сборку универсальных APK, в которую можно запаковать бинарники как для ARM, так и для x86 архитектур? для чего нужно поставить одну галочку при сборке (разработчики исправьте меня в комментах если я не прав). Поэтому в каких-то случаях может Android-приложения даже не надо будет пропускать через транслятор Intel Bridge.

Тем не менее, к реализации Android-приложений на Windows остаются вопросы.

Во-первых, что будет с поддержкой Google Play Сервисов? Скорее всего её не будет. Поэтому многие приложения, будут работать неполноценно, либо не будут работать вовсе.

И второй вопрос. А зачем это вообще всё надо? Ведь мобильными приложением на компе пользоваться просто не удобно.

Допустим, на MacBook я могу поставить массу приложений с iOS, но делать этого не хочется. Да на многих Windows-ноутбуках сенсорные экраны, но все равно.

Тогда зачем была проделана вся эта огромная работа по интеграции Linux в Windows, созданию транслятора Intel Bridge, доработки всей этой штуки под Android-приложения?

Будущее Windows


И тут мы готовы высказать смелое предположение. Нам кажется, что поддержка Android приложений это один из этапов полного отказа от ядра Windows NT и перехода на ядро Linux.

Да, это звучит дико. Но во-первых, не мы одни так думаем. Раньше такую же мысль высказал уважаемый человек, евангелист Open Source Эрик Реймонд.

Смотри сами как всё логично:

В мире почти все ОС основаны либо на Unix (как Mac OS) или Linux (Ubuntu, Android и прочее) и только Windows одна такая особенная сидит на своём ядре Windows NT, с которым куча проблем.

Во-первых, его нужно развивать на, что уходит много денег. А Linux-ядро бесплатное.

Во-вторых, в самом ядре куча уязвимостей, которые постоянно нужно прикрывать заплатками.

В-третьих, у Windows ничего не получилось в мобильном сегменте.

В-четвертых, Microsoft уже потратили много лет и ресурсов на создание подсистемы Linux под Windows.

Поэтому переход на ядро Linux вполне логичный шаг. Смотрите, как это может выглядеть:

Сначала мы все переходим на Windows 11 на архитектуре x86. И потихоньку привыкаем, что на Windows нормально работают Android-приложения.

Параллельно, благодаря стараниям Apple, все пилят софт под ARM архитектуру, отчего выигрывает и Microsoft. Поэтому мы потихоньку начинаем переходить на ARM Windows. На которой Android-приложения чувствует себя вообще как родные.

Постепенно Linux ядро становится основной средой, а Windows второстепенной.

А потом ядро Windows NT выпиливается, и Windows становится графической оболочкой для Linux. Ну а на ядре Windows NT остаются работать только серверы и различное оборудование, где наследие старой Windows никак не искоренить.

Это, конечно самый смелый сценарий. Тем не менее, он вполне возможен.

Но даже если этого не произойдёт. В любом случае поддержка Android-приложений — это очень интересный ход. И для Windows на ARM он точно будет полезен, вспоминая планшеты например!

Выводы


Ну и напоследок про сам Windows 11. Мы немного поигрались с новой Windows и у нас сложилось двоякое отношение.

С одной стороны, Windows 11 — это просто «десятка» с новой графической оболочкой. И это немного разочаровывает. Ведь если откинуть ядро Linux, которое теперь будет идти из коробки. Кроме дизайна под капотом не так многое поменялось, зато с совместимостью драйверов вроде проблем нет. Более того, до старого интерфейса, по-прежнему, очень легко добраться.

Тем не менее новый интерфейс действительно симпатичный и понятный.

В нем множество крутых фич как с меню «Пуск», так и с окнами. Привыкаешь к нему буквально за 10 минут. После чего возвращаться к старому скину совершенно не хочется. Еще раз — получилось красиво и удобно! А значит переход на новую Windows пройдет безболезненно и пользователи в целом останутся довольны. А это уже победа…

А там еще можно вспомнить про новый магазин без комиссии для разработчиков с блэкджеком. Но это уже совсем другая история и другие планы Microsoft по завоеванию мира магазинов приложений и ответ лаунчерам.

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

Изображение: Windows Latest

Изображение: Windows Latest

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

Изображение: Windows Latest

Изображение: Windows Latest

Эта функция может оказаться полезной, например, если пользователю требуется работать в одном приложении под разными учётными записями. Кроме того, пользователи смогут закреплять Android-приложения на панели задач и выполнять разные действия, такие как перемещение окна по экрану и изменение его размера.

Изображение: Windows Latest

Изображение: Windows Latest

Помимо опубликованных снимков источник указывает на признаки скорого появления поддержки запуска Android-приложений в бета-версиях Windows 11, которые доступны участникам инсайдерской программы Microsoft. Магазин приложений Amazon App Store, который отсутствовал в ранних тестовых сборках Windows 11, недавно стал доступен для загрузки из Microsoft Store. Согласно имеющимся данным, Amazon App Store доступен для загрузки пользователям устройств, работающих под управлением Windows 11 версии 22000 и более свежих сборок.

Как установить Android-приложения в Windows 11

Сейчас у пользователей Windows 11 Insider Preview есть возможность установить Android-приложения на свой компьютер и корректно взаимодействовать с ними. Однако в будущем эта функция интегрируется и в стабильные версии. Если вы не хотите ждать и желаете прямо сейчас начать использование мобильных программ в стабильной версии ОС, обратитесь к одному из следующих методов, чтобы достичь желаемого результата.

Способ 1: Установка приложений из Microsoft Store

У этого варианта есть свои недостатки, связанные с ограниченным набором приложений и изменениями в их внешнем виде. Однако это единственный официальный вариант, предназначенный для получения мобильных программ на ПК под управлением Windows 11.

Посмотрите на следующую инструкцию и решите, подойдет ли вам такой метод и найдутся ли нужные приложения в Microsoft Store.

Переход в магазин приложений для установки Android-приложений в Windows 11

Откройте меню «Пуск» и запустите «Microsoft Store». Значок этой программы находится в списке закрепленных, но вы можете найти его и через поисковую строку Пуска.

Использование поиска для установки Android-приложений в Windows 11

В самом магазине приложений используйте поиск, чтобы найти требуемое решение. Я за пример взял популярный сервис для создания и просмотра видео – TikTok.

Кнопка для установки Android-приложений в Windows 11

На странице приложения нажмите кнопку «Получить».

Открытие после установки Android-приложений в Windows 11

Автоматически начнется процесс скачивания и установки, после чего можно щелкнуть по «Открыть».

Просмотр интерфейса после установки Android-приложений в Windows 11

Запустится новое окно с интерфейсом приложения, и вы можете начать взаимодействие с ним. Как видно, сейчас некоторые функции ТикТок недоступны и интерфейс немного отличается.

Скачивание других файлов для установки Android-приложений в Windows 11

Ищите другие интересующие вас приложения и устанавливайте их на свой компьютер для дальнейшего использования.

Способ 2: Установка Windows Subsystem for Android

Windows Subsystem for Android – тот самый инструмент, позволяющий запускать андроид-приложения на компьютере под управлением Windows 11. В стабильных версиях операционной системы он отсутствует, поэтому далее я покажу метод его неофициальной инсталляции и загрузку APK-файлов для открытия полноценных мобильных приложений.

Обратите внимание на то, что нет точной информации о том, как поведет себя ОС после установки будущих обновлений. Возможно появление сбоев из-за наличия неофициальной версии Windows Subsystem for Android. Учитывайте это и выполняйте следующую инструкцию только на свой страх и риск.

Скачивание по ссылке для установки Android-приложений в Windows 11

Вас интересует файл размером более 1 Гб, расположенный в конце списка. Он имеет расширение .msixbundle, поэтому спутать его с другими файлами не получится.

Получение файла по ссылке для установки Android-приложений в Windows 11

Если после нажатия по ссылке скачивание не запустилось, значит, ваш браузер блокирует небезопасные загрузки. Откройте Microsoft Edge или другой веб-обозреватель и скачайте упомянутый выше файл, щелкнув по его ссылке на странице.

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

Открытие Терминала для установки Android-приложений в Windows 11

Нажмите по кнопке «Пуск» ПКМ и запустите «Терминал Windows» от имени администратора.

Ввод команды распаковки пакета для установки Android-приложений в Windows 11

Введите там команду Add-AppxPackage -Path " ", вставив в кавычках путь к скачанному файлу (включая его название и формат). Это показано на следующем скриншоте.

Распаковка пакета для установки Android-приложений в Windows 11

Нажмите Enter для запуска распаковки и ожидайте завершения процесса, следя за прогрессом выполнения операции.

Запуск приложения для установки Android-приложений в Windows 11

Если все прошло успешно, можете открыть меню «Пуск» и убедиться в том, что приложение Windows Subsystem for Android имеет свой значок.

Если запустить данное приложение, можно увидеть стандартное окно с параметрами и кнопку, отвечающую за запуск виртуальной машины. В ней количество приложений ограничено, но все же некоторые полезные варианты есть. Дополнительно рассмотрим, как установить любой APK-файл, чтобы открыть полноценное Android-приложение в Windows.

Скачивание файлов установщика для установки Android-приложений в Windows 11

Используйте любой проверенный источник, чтобы скачать APK-файл. Обычно это англоязычные хранилища, но если вам известен какой-то конкретный сайт, которому вы доверяете, загружайте файлы оттуда.

Настройка программы для установки Android-приложений в Windows 11

Откройте Windows Subsystem for Android, активируйте режим разработчика и скопируйте IP-адрес.

Открытие виртуальной машины для установки Android-приложений в Windows 11

Если он недоступен, запустите виртуальную машину через «Файлы», дождитесь ее открытия, обновите IP-адрес и скопируйте полученный.

Создание нового подключения для установки Android-приложений в Windows 11

Сам IP-адрес необходимо ввести в терминале вместе с командой adb connect. Это добавит новое подключение.

Установка APK-файла для установки Android-приложений в Windows 11

После активации введите adb install + полный путь к APK-файлу вместе с его названием и форматом.

Успешная установка гарантирует появление ярлыка для запуска приложения в списке со всеми программами. Точно таким же образом установите все Android-программы или игры, которые вы хотите запустить в Windows 11.

Решение некоторых проблем

В завершение разберу две популярные проблемы, с которыми сталкиваются пользователи при попытке реализовать второй способ. Первая заключается в невозможности запуска виртуальной машины, что и мешает получить IP-адрес. Для решения этой ситуации необходимо активировать виртуализацию в Windows 11, что осуществляется так:

Переход в Панель управления для решения проблем с установкой Android-приложений в Windows 11

Откройте меню «Пуск» и через поиск отыщите «Панель управления».

Открытие Программы и компоненты для решения проблем с установкой Android-приложений в Windows 11

В новом окне вас интересует раздел «Программы и компоненты».

Переход к компонентам для решения проблем с установкой Android-приложений в Windows 11

На панели слева кликните по ссылке «Включение или отключение компонентов Windows».

Включение компонента для решения проблем с установкой Android-приложений в Windows 11

Отыщите компонент «Платформа виртуальной машины» и поставьте галочку возле данной строки. Перезапустите компьютер и снова запустите подсистему Android.

Вторая ситуация – возникновение неполадки на этапе ввода команды adb connect, когда данное имя не удается распознать. Это может быть связано с отсутствием в операционной системе SDK Platform Tools, поэтому займемся исправлением ситуации.

Скачивание файлов для решения проблем с установкой Android-приложений в Windows 11

Перейдите на сайт Android Studio для разработчиков и скачайте набор инструментов для Windows.

Запуск Терминала для решения проблем с установкой Android-приложений в Windows 11

Установите программу в любую удобную для вас папку, после чего запустите терминал от имени администратора.

Переход по пути для решения проблем с установкой Android-приложений в Windows 11

Используйте команду cd для перехода по пути расположения файлов SDK Platform Tools, введя после команды путь к каталогу.

Измененная команда для решения проблем с установкой Android-приложений в Windows 11

Пропишите новое соединение, но измените команду на \adb connect.

Теперь вы знаете, как запустить практически любое Android-приложение в Windows 11, если вы установили на компьютер стабильную версию, а не бету. Используйте удобный метод и не забывайте о том, что нужно четко следовать представленным инструкциям.


Несколько дней назад Microsoft начала тестирование подсистемы Windows Subsystem for Android (WSA), которая позволяет запускать Android-приложения в Windows 11.

Сейчас функция доступна только участникам программы Windows Insider на канале Beta, что несколько удивительно, так как обычно все новшества вначале появляются на канале Dev. Но даже если вы используете канал Beta, то для установки подсистемы из Microsoft Store потребуется сменить регион на США в самой Windows 11.

Microsoft обещает, что инсайдеры на канале Dev также вскоре получат доступ к Windows Subsystem for Android, но какие-либо конкретные сроки не называются. Если вы не хотите ждать, то можете установить подсистему вручную. Для этого вам потребуются прямые руки и небольшие навыки работы в PowerShell.

Важно! Все действия вы делаете на свой страх и риск.

Благодарим aleks242007 и участников чата Community в Telegram за помощь в составлении инструкции.

Инструкция

Установка Windows Subsystem for Android

Add-AppxPackage: The 'Add-AppxPackage' command was found in the module 'Appx', but the module could not be loaded. For more information, run 'Import-Module Appx'.

После этого вновь введите команду Add-AppxPackage из шага 6.

Установка APK-файлов

Теперь подсистема Windows Subsystem for Android работает, однако с установкой приложений есть некоторые сложности. Как вы уже знаете, вместо Google Play здесь используется Amazon Appstore. Причём отображаются там лишь приложения, которые Microsoft и Amazon протестировали на работоспособность в подсистеме.

Правда воспользоваться Amazon Appstore всё равно не получится. Приложение не только требует учётную запись Amazon, но и проверяет ваше местоположение. Можно, конечно, подключить VPN, но есть ли в этом смысл?

К счастью, Windows Subsystem for Android поддерживает установку приложений с помощью APK-файлов. Вы можете воспользоваться либо утилитой WSATools, о которой мы рассказали в статье по этой ссылке, либо устанавливать вручную с помощью командной строки по инструкции ниже.


  1. Скачайте SDK Platform Tools для Windows с сайта Android, перейдя по этой ссылке.
  2. Извлеките папку platform-tools , например, в корень диска C (рядом с папками Windows, Program Files и т. д.)
  3. Откройте приложение Windows Subsystem for Android и включите «Режим разработчика».
  4. Нажмите на кнопку рядом с элементом «Файлы». Начнётся запуск подсистемы Windows Subsystem for Android.
  5. Нажмите на кнопку «Обновить» рядом с элементом «IP-адрес».
  6. В описании для элемента «Режим разработчика» появится IP-адрес, который мы будем использовать для подключения к подсистеме с помощью ADB.
  7. Откройте командную строку (или Windows Terminal) и перейдите в папку с установленным SDK Platform Tools, подставив нужный путь к папке:
  8. Введите следующую команду, подставив в неё IP-адрес из предыдущего пункта:

Примечание. Если выполнять команды через PowerShell, то перед ADB следует прописать ./

Чтобы быстро скопировать путь к файлу, нажмите по нему правой кнопкой мыши и выберите «Копировать как путь». Затем вставьте его после adb.exe install и нажмите Enter.

Поскольку далеко не все Android-приложения корректно работают в подсистеме, пользователи решили составить таблицу с информацией о работоспособности приложений в WSA. Найти и внести свой вклад вы можете на GitHub.

Читайте также: