Это специальная подсистема, которая позволяет приложениям Linux работать в среде Windows. Система работала нормально, но была медленной, поскольку работала на ядре Windows NT.
Как работают Android-приложения в Windows 11? Разбор
Мы все с нетерпением ждали выхода Windows 11 и каким-то образом пришли к этому. Незадолго до презентации произошла утечка функциональной сборки, поэтому ничего действительно нового во время мероприятия увидеть не удалось. За исключением одного: приложения для Android на Windows!
Это было очень неожиданно. Я был немного взволнован, но вскоре после этого у меня возник вопрос. Зачем это нужно и как это вообще работает?
В конце концов, некоторое время назад Microsoft устроила большую неразбериху с Windows на архитектуре ARM. Там приложения x86 работали очень плохо. И если они потерпели неудачу, почему они должны иметь возможность сделать то же самое сейчас, и наоборот?
Исследуя эти вопросы, мы буквально проходили стажировку. И мы поняли, что у Microsoft очень обширные планы.
Итак, сегодня мы узнаем, как работает Microsoft Rosetta, а заодно — чем эмулятор отличается от переводчика? Как Windows превратилась в Linux? И подумайте о том, как Microsoft планирует захватить мир.
Симуляторы.
Начнем с небольшой теоретической части. Программа взаимодействует с процессором с помощью определенного набора команд. И этот набор команд отличается от архитектуры к архитектуре. Поэтому, чтобы запустить приложение, созданное для архитектуры ARM, на процессоре Intel с архитектурой x86, внешняя программа должна объяснить процессору, что она от него хочет.
Существует несколько способов сделать это. Одним из наиболее распространенных является моделирование.
Например, существует множество эмуляторов Android для Windows. Но в чем проблема и зачем искать другую?
Важно отметить, что эмуляторы неэффективны. В целом, эмуляторы — это программы, маскирующиеся под аппаратные средства. Другими словами, эмуляторы — это программное обеспечение, которое пытается имитировать аппаратное обеспечение платформы.
Программа, помещенная в эмулятор, даже не «распознает», что она находится во внешней среде. Он как Нео в Матрице. В реальном мире они кажутся таковыми, но сомнения могут быть полезны. Так что все эти тики, глюки и ложки гнутся. Вы понимаете, о чем я. Это связано с тем, что симуляция очень обременительна.
Представьте, что программное обеспечение должно эмулировать весь процессор, чтобы работать на 100% правильно, а эмулятор работает медленно.
Теперь, если мы говорим о простой 8-битной консоли, такой как Dendy. Такие эмуляторы совершенно неэффективны, но работают быстро даже на смартфонах с WindowsMobile. Однако эмулировать определенные процессоры Intel сложнее.
Отсюда и задержки в выпуске Windows on ARM. В конце концов, именно эмуляторы использовались Microsoft для запуска приложений x86. Кстати, эмулятор назывался WOW64, но, как мы знаем, это был вовсе не WOW.
Более того, Windows on ARM не поддерживает 64-битную эмуляцию; она поддерживает только 32-битную. Это означает, что это x86, а не x64, что делает его еще хуже. Однако этому есть объяснение.
Эмулятор WOW64 изначально был придуман для запуска 32-битных приложений на 64-битной Windows. Это означает, что Microsoft даже не создала новый эмулятор для этой важной задачи, а, вероятно, просто модифицировала старый.
Однако в прошлом году Microsoft пообещала в скором времени внедрить поддержку 64-битных приложений. И, возможно, она будет реализована совершенно по-другому.
Как, спросите вы? Вспомним, например, как это сделала компания Apple, перейдя с процессоров Intel на собственные чипы на архитектуре ARM. С помощью невероятной штуки под названием Rosetta 2.
Ведь там ARM каким-то чудесным образом запускает x86-приложения практически без потери производительности.
Переводчик
Что такое Розетта 2? Говоря научным языком, это бинарный транслятор, то есть переводчик. Rosetta просто переводит набор инструкций с одной архитектуры на другую, и все.
Но чем это лучше эмуляции? Дело в том, что эмуляция всегда происходит в реальном времени. А Rosetta переводит приложение заранее во время установки или при первом запуске.
Таким образом, когда пользователь открывает приложение, он уже работает с родным кодом, который выполняется без дополнительных затрат. И в результате все работает почти так же быстро, как на родном оборудовании!
Но, конечно, не все так радужно! В противном случае никто не стал бы создавать разные версии приложений для разных архитектур. Компиляторы имеют серьезные недостатки.
Во-первых, перевод всего исполняемого исходного кода для целевой архитектуры является очень сложной задачей, а в большинстве случаев просто невозможной. Некоторые части исполняемого кода доступны только при использовании приложения. Поэтому эти части компилируются динамически, «на лету».
Этот процесс называется Just In Time compilation. Или JIT compilation.
Конечно, это дорогостоящий процесс, но даже его можно оптимизировать. Полученную динамическую последовательность кода можно кэшировать. А агрессивная оптимизация может быть применена к сегментам кода. Поэтому в некоторых случаях оптимизированный код, скомпилированный для другой архитектуры, может работать даже быстрее, чем исходный код.
И я сам постоянно наблюдаю это явление на новых Mac. Например, немодифицированный Blender через Rosetta работал быстрее, чем родной на моем MacBook Pro 16. Но за это тоже нужно платить.どう思いますか? Ваш SSD-накопитель. Скомпилированный код занимает много места, а динамическое кэширование расходует ресурсы SSD. В частности, это явление наблюдается в тяжелых программах, которые еще не были переделаны под ARM. Поэтому необходимо сделать выбор между быстрой работой и долговечностью SSD.
Все описанные шаги по установке подсистемы Windows для Android действительны на момент написания статьи: вероятно, в ближайшем будущем процесс упростится.
Как установить WSA на Windows 11
Чтобы загрузить приложения Android, необходимо убедиться, что ваш компьютер соответствует минимальным системным требованиям. Затем необходимо установить Windows для Android, что можно сделать после установки Amazon Appstore.
Оперативная память: 8 или 16 ГБ (рекомендуется) Процессор: Intel Core i3 8-го поколения, AMD Ryzen 3000, Qualcomm Snapdragon 8c или новее Хранение: SSD Версия Microsoft Store: 22110.1402.6.0 или новее Windows 11: сборка 22000.xxx или новее Windows Insider Program: бета-канал.
Проверка системных требований
- Откройте приложение «Настройки».
- Перейдите в раздел «Система».
- Внизу нажмите «О программе».
- В разделе «Технические характеристики устройства» см. описание оперативной памяти и процессора.
Вступление в программу Windows Insider
Поскольку поддержка приложений Android пока доступна только в предварительной версии Windows 11, вам необходимо присоединиться к программе предварительного тестирования Windows Insider и каналу бета-тестирования.
- Откройте приложение «Настройки».
- Нажмите пункт «Обновление и безопасность».
- Нажмите на «Windows Insider Program» с правой стороны.
- Нажмите «Приступить к работе».
Теперь, когда у вас есть IP-адрес для подключения к виртуальной Android-машине Windows, выполните команду adb connect с помощью Terminal или PowerShell для создания соединения (adb должен быть установлен).
Установка Windows Subsystem for Android (WSA, Подсистема Windows для Android)
Все описанные шаги по установке подсистемы Windows для Android действительны на момент написания статьи: вероятно, в ближайшем будущем процесс упростится.
Шаги, необходимые для установки Windows или подсистемы WSA на Windows 11:.
- Установите накопительное обновление KB5010414 из информационного центра Windows, если оно еще не установлено.
- Для работы WSA на компьютере должна быть включена виртуализация. Другие требования включают установку твердотельного накопителя. Неясно, насколько важен последний пункт при ручной установке подсистемы Windows для Android. Это будет объяснено позже.
- Перейдите в Панель управления (вы можете использовать поиск на панели задач, чтобы открыть ее) — Программы и функции, Активировать или отключить Windows, включите Виртуальную платформу, установите и перезагрузите компьютер. Читайте также: как установить расширения Windows 11 и Windows 10.
- Следующим шагом будет установка приложения подсистемы Windows для Android. Он устанавливается при установке AmazonAppstore из MicrosoftStore. В настоящее время это приложение доступно только для пользователей из США (но проверьте, возможно, это не относится к вам, когда вы читаете это). Поэтому вам придется воспользоваться решением: перейдите по адресу https: //store.rg-adguard.net/.
- Выберите ‘ProductId’ в левой части, введите 9p3395vx91nr в поле ввода данных и нажмите кнопку ‘галочка’ в правой части. Внизу появится список файлов, доступных для загрузки. Файлы размером более 1 гигабайта нужно загружать в нижней части списка.
- Загруженные файлы нельзя установить, просто запустив их. Для установки откройте терминал Windows от имени администратора (щелкните правой кнопкой мыши по кнопке «Пуск» и выберите нужный пункт в контекстном меню) и скопируйте путь, щелкнув правой кнопкой мыши по файлу и выбрав соответствующий пункт в контекстном меню Меню. Если путь содержит пробелы, заключите его в кавычки.
После выполнения этих шагов WSA или подсистема Windows для Android установлена на вашем компьютере, а приложение ‘Конфигурация подсистемы Windows для Android’ появится в списке доступных приложений.
После активации подсистемы Windows для Android (что можно быстро сделать, открыв Файл в настройках подсистемы Windows для Android), стандартный способ установки приложений Android на Windows 11 заключается в том, чтобы установить их на компьютер и AmazonAppStore будет установлен.
Установка Android приложений в Windows 11
Обычным способом установки Android-приложений на Windows 11 является AmazonAppStore, но пока (если ситуация изменится и вы заметите раньше меня, пожалуйста, напишите комментарий), после входа в приложение вы получите уведомление, что оно не доступные в нашей стране:.
Поэтому вам следует использовать один из следующих методов
Вручную установите приложение Android на WSA с помощью adb.exe
Первый способ заключается в ручной установке приложения из APK-файла с помощью команды adb.exe. Шаги.
- Скачайте инструмент командной строки platform-tools, содержащий adb.exe, и распакуйте его в подходящую папку на вашем компьютере. Рекомендуется https: //adbinstaller.com/. При этом варианте загружаются только основные сведения.
- Если вы готовы определить полный путь к ADB.EXE в командной строке, вы можете пропустить шаги 2-4. Нажмите win+r на клавиатуре, введите sysdm.cpl и нажмите Enter. (Для продвинутых) Перейдите в раздел Advanced и нажмите на Environment variables.
- Переменные пути (для пользователей, если используется только текущий пользователь, или в поле Системные переменные для всей системы, нажмите Изменить Нажмите на кнопку.
- [Щелкните New и добавьте файл ADB.EXE в папку в системной переменной path.
- Откройте приложение «Настройки подсистемы Android Windows» и включите функцию «Режим разработчика». Если сам WSA не запущен, запустите его (например, откройте «Файл» в верхней части окна, откройте и затем закройте его). Обратите внимание на «IP-адрес» в настройках и скопируйте его (если адрес не отображается, нажмите кнопку [Update] после запуска подсистемы Windows в Android).
- Загрузите необходимое приложение Android в виде APK-файла следующим образом: как загрузить приложение AndroidAPK.
- Запустите командную строку как менеджер (Как запустить командную строку как менеджер в Windows 11).
- Введите команду ADB Connect IP address (IP-адрес — это адрес WSA, указанный в шаге 5).
- Установите приложение Android с помощью ADB Install PATH_TO_APK_FILE. Успешно установленные приложения добавляются в меню «Пуск» Windows 11.
Не все приложения работают правильно. Некоторые приложения сообщают об ошибках или требуют установки через Google Play (видимо, из-за отсутствия сервисов Google Play). Некоторые, однако, работают очень хорошо:
Некоторые из наблюдаемых проблем включают некорректную работу текстового содержимого браузера, поэтому даже те приложения, которые работают, не всегда работают.
WSATOOLS.
Приложение WSATOOLS можно найти в магазине Microsoft Store. Он предназначен для облегчения установки приложений Android на Windows 11. Просто укажите APK-файл Android для установки, а остальное будет запрограммировано автоматически, включая загрузку. При необходимости установите ADB.EXE.
- Разработчик Android на сайте https://developer.android.com/studio/releases/platform-toolsのWebサイトを開きます.
- В разделе загрузки нажмите Download SDK Platform Tools for Windows.
Как запускать Android-приложения на ПК через командную строку
Этот метод считается более сложным в применении, но количество препятствий при его использовании на порядок меньше.
Давайте рассмотрим, как открыть приложение Android на компьютере с помощью командной строки.
- Как и раньше, запустите подсистему Android Windows.
- Загрузите инструмент платформы SDK с официального сайта разработчика операционной системы Android.
- Нажмите на файл.
- Включите «Режим разработчика» для параметров текущего приложения (нажмите на «Управление параметрами разработки» и установите переключатель в новом окне на «Активировать»).
- Для параметра IP-адрес нажмите кнопку Обновить (не имеет значения, задан ли PowerShell по умолчанию или из командной строки). В окне терминала введите
В результате в меню окружения кнопки «Пуск» появится значок готового приложения Android.
Этот метод неудобен тем, что все описанные выше шаги необходимо выполнять для каждого нового мобильного приложения, используемого в Windows 11.
Решение некоторых проблем
Неопытные пользователи обычно сталкиваются с двумя типами проблем при попытке установить приложения Android на Windows 11: первая — невозможность включить функцию виртуализации; вторая — невозможность создать IP-адрес для работы утилиты подсистемы Android. Это не позволяет утилите подсистемы Windows для Android создать функционирующий IP-адрес. Вторая связана с ошибками при выполнении команды adbconnect.
Сначала рассмотрим, как запустить виртуальную машину в Windows 11 с помощью самой операционной системы.
Теперь вы можете повторить шаги, описанные в разделе командной строки.
Ошибка подключения/установки adb связана с отсутствием файла adb.exe. Это связано с тем, что пакет инструментов платформы SDK не установлен или установлен неправильно. Эта проблема также может быть устранена.
- Снова загрузите SDK PlatformTools с официального сайта AndroidStudioWeb (доступны версии для Mac / Linux, но нас интересует версия для Windows).
- Переустановите PlatformTools для разработчиков и
- Запустите окно терминала (требуются права администратора), и
- Перейдите в каталог, содержащий установленные пакеты (команда cd), и
- Вместо команды, описанной в предыдущем разделе, введите ⌘ adbconnect и нажмите Enter.
Предупреждение. Обратите внимание, что если установлена фиксированная версия Windows 11, то оба метода запуска приложений Android будут работать. Положительные результаты не гарантируются для бета-версий.
Если виртуализация включена и установлена утилита подсистемы для Android, существует два способа установки приложений Android на машину. Во-первых, можно воспользоваться бесплатной утилитой WSATools, доступной в магазине MicrosoftStore.
Cтриминговые сервисы
Почти все сервисы для прослушивания музыки имеют онлайн-версии. Каковы предполагаемые проблемы? Подводный камень заключается в том, что функциональность и качество часто задерживаются. Новые подсистемы Windows позволяют запускать оптимизированные мобильные версии с высоким битрейтом и многочисленными функциями.
Трекеры и утилиты
Различные утилиты позволяют использовать разные категории приложений. Некоторые из этих утилит доступны для Android, а не для Windows. Они включают программы для настройки гитары и измерения уровня шума. Конечно, это полезно только в том случае, если микрофон подключен к компьютеру. В Windows также полезно открывать приложения для отслеживания привычек и ведения заметок, особенно если синхронизация осуществляется в облаке. На компьютере также можно использовать фактическое приложение электронной почты, поскольку оно может иметь больше возможностей, чем веб-сайт.