Подсистема Windows для Android™️

Подсистема Windows для Android™️ позволяет устройству Windows 11 запускать приложения для Android, доступные в Amazon Appstore. Android является товарным знаком Google LLC. Это руководство поможет разработчикам, которые заинтересованы в создании приложений для настольных устройств Windows и оптимизации работы с операционной системой Windows.

Внимание

Корпорация Майкрософт завершает поддержку подсистема Windows для Android ™️ (WSA). В результате Amazon Appstore в Windows и всех приложениях и играх, зависящих от WSA, больше не будет поддерживаться с 5 марта 2025 года. До тех пор техническая поддержка останется доступной для клиентов.
Клиенты, которые установили приложения Amazon Appstore или Android до 5 марта 2024 г., будут продолжать иметь доступ к этим приложениям до даты отмены 5 марта 2025 г. Обратитесь к нашей группе поддержки по дальнейшим вопросам по support.microsoft.com. Мы благодарны за поддержку нашего сообщества разработчиков и по-прежнему привержены прослушивания отзывов по мере развития опыта.

Чтобы приложение Android было доступно на устройствах Windows 11, вам нужно сделать следующее:

Для получения дополнительных сведений или поддержки:

Это руководство поможет вам протестировать и отладить приложение Android в Windows:

Разработчик GitHub

Хотите узнать больше о стратегии подсистема Windows для Android ™️, обсудить проблемы разработчика и ошибки файлов или запросы функций с помощью команды подсистемы? Посетите GitHub подсистема Windows для Android ™️ разработчиков.

Предварительная версия программы

Программа по ознакомлению с предварительной версией Подсистемы Windows для Android™️ позволяет пользователям получать предварительные сборки Подсистемы Windows для Android™ и Amazon Appstore в Windows. Дополнительные сведения см. на странице цен на программу предварительной версии.

Настройка среды разработки

Чтобы протестировать приложение Android в среде компьютера Windows, нужно выполнить некоторые действия.

Необходимые компоненты

™️ подсистема Windows для Android доступна в Windows 11. При этом устройство должно соответствовать определенным требованиям: Требования к устройствам.

Установка Amazon Appstore

Microsoft Store автоматически установит подсистема Windows для Android ™️ автоматически в фоновом режиме при выполнении двух следующих действий пользователя:

  1. Установите Amazon Appstore из Microsoft Store. Щелкните Получить, чтобы начать установку приложения.
  2. Установка приложения Android из Microsoft Store в первый раз; при этом также будет выполнена установка Amazon Appstore.

Затем приложение Amazon Appstore появится в меню Windows 11 и будет доступно на поиске, предлагая каталог приложений Android. Приложение подсистема Windows для Android ™️, которое позволяет управлять параметрами и функциями мобильного приложения, также появится в меню .

Screenshot of Microsoft Store page featuring the Get button on the Amazon App Store

Примечание.

Amazon Appstore в Windows (требование для запуска приложений Android в Windows 11) доступно в следующих регионах.

™️ подсистема Windows для Android Параметры

Чтобы изменить параметры подсистема Windows для Android ™️, перейдите к разделу "Запуск > всех приложений > подсистема Windows для Android ™️". Дополнительные сведения о конкретных возможностях приложения "Параметры" см. в статье Управление параметрами для мобильных приложений в Windows.

Screenshot of Latte app settings

Тестирование и отладка

Для тестирования и отладки приложения на устройстве с Windows 11 с помощью подсистема Windows для Android ™️ требуются следующие действия по настройке.

Включение режима разработчика в приложении "Параметры" для Windows

Сначала необходимо включить режим разработчика. Откройте параметры подсистема Windows для Android ™️. После открытия включите режим разработчика в разделе "Дополнительные параметры".

Подключение подсистема Windows для Android ™️ для отладки

Чтобы подключиться к виртуальной машине ™️ подсистема Windows для Android для отладки, выполните следующие действия.

  1. Запустите приложение Android, установленное с помощью Amazon Appstore.

  2. Вы можете подключиться с adb connect с помощью следующей команды (необходимо установить adb):

    adb connect 127.0.0.1:58526
    

Подключение к тестовому устройству

Чтобы подключиться к тестового устройства (с установленным подсистема Windows для Android ™️) в той же сети из Windows/Mac:

  1. На тестовом устройстве (где установлен подсистема Windows для Android ™️) откройте окно PowerShell и определите IP-адрес тестового устройства, выполнив команду:

    ipconfig
    
  2. С помощью терминала устройства отладки, где установлены Android Studio и пакет SDK для Android (Mac или Windows), введите команду:

    adb connect <TEST DEVICE IP ADDRESS>:58526
    

<TEST DEVICE IP ADDRESS> можно найти в выходных данных ipconfig на тестовом устройстве. Вы также можете развертывать и отлаживать приложения с помощью Android Studio.

Сведения об использовании Android Debug Bridge (ADB) для подключения рабочей станции разработчика непосредственно к устройству Android, чтобы установить пакеты и оценить изменения, см. в статье Android Debug Bridge в документации Android Open Source Project.

Отладка приложения

Хотя приложения нужно устанавливать с помощью Amazon Appstore, отладка приложения Android на устройстве Windows возможна с помощью APK (пакет приложений Android) и ADB (Android Debug Bridge).

Чтобы выполнить отладку APK с помощью ADB:

  1. Выполните действия, чтобы подключиться к виртуальной машине ™️ подсистема Windows для Android выше.

  2. Установите APK, выполнив adb install: adb install app-debug.apk.

    Ожидаемые выходные данные:

    Performing Streamed Install
    Success
    
  3. В меню уведомлений Windows появится уведомление об установке приложения. Выберите приложение, чтобы запустить его.

Создание универсальных пакетов APK

™️ подсистема Windows для Android использует технологию Intel Bridge для включения приложений Arm на процессорах x86. Приложения Arm будут работать на процессорах на основе Arm в собственном коде. Использование уровня эмуляции приводит к снижению производительности. Для обеспечения оптимальной производительности отправьте приложение для архитектур x86–64 и ARM64.

Вопросы, связанные с совместимостью ввода для устройств Windows

Есть несколько уникальных методов ввода, для поддержки которых, вероятно, понадобится обновить код приложения Android, предназначенный для портативных устройств, чтобы обеспечить совместимость при выполнении на настольном устройстве Windows с помощью Amazon Appstore.

Ввод с клавиатуры

При использовании полей ввода текста, обрабатываемых методом ввода с помощью виртуальной экранной клавиатуры (IME), например EditText, приложения должны работать ожидаемым образом. (Класс EditText в документации Android.)

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

Например, некоторые игры наряду с сенсорным входом могут уже поддерживать перемещение с помощью клавиатуры — с использованием клавиш w,a, s и d.

Ниже приведены особенности использования клавиатуры, которые разработчики должны учитывать при обновлении кода для поддержки устройств Windows 11:

  • клавиша ВВОД;
  • навигация с помощью клавиш со стрелками и клавиши TAB;
  • изменение цвета выделения выбранного элемента;
  • сочетания клавиш с использованием CTRL.

Дополнительные сведения о том, как оптимизировать эти сценарии ввода с клавиатуры на настольных устройствах, см. в документации Android:

Входные данные мыши

При создании приложения для устройств Windows разработчикам следует рассмотреть возможность изменения кода, чтобы обеспечить поддержку следующих особенностей ввода данных с помощью мыши:

  • Щелчок правой кнопкой мыши
  • всплывающие подсказки и текст, отображающийся при наведении указателя мыши;
  • эффекты при наведении указателя мыши;
  • действия колесика мыши;
  • Перетаскивание

Ввод с помощью мыши, аналогично вводу с клавиатуры, следует реализовать согласно официальном рекомендациям по приложениям Android. Это означает, что необходимо использовать класс InputDevice с константой SOURCE_MOUSE. Дополнительные сведения о том, как оптимизировать эти сценарии ввода с помощью мыши на настольных устройствах, см. в документации по Android:

Управление окнами и изменение размера

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

Минимальные требования к экрану

В Windows 11 применяются минимальные требования к экрану: разрешение 720p (1280x720) и размер экрана больше 22,86 см (9 дюймов).

Леттербоксинг и пилларбоксинг

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

Letterboxing and Pillarboxing example showing blank bars that center the window

Дополнительные рекомендации по изменению размера

При изменении приложения Android для поддержки запуска на устройстве Windows 11 в отношении управления окнами и изменения размера необходимо учитывать следующее:

  • начальный размер при запуске;
  • Измерения окна
    • границы содержимого;
    • произвольное изменение размера;
  • Ориентация экрана

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

События жизненного цикла приложения

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

Сведения о событиях жизненного цикла см. в документации по Android. Чаще всего вы хотите использовать onStop событие, а не onPauseonUserLeaveHint события. На самом деле, многие реализации Android с несколькими окнами не доставляют onUserLeaveHint уведомление, и поэтому любая бизнес-критическая логика, которая может находиться в этом обработчике событий, не будет вызываться на этих платформах, включая подсистема Windows для Android ™️.

Жизненный цикл виртуальной машины

™️ подсистема Windows для Android использует виртуальную машину, которая обеспечивает совместимость с Платформа AOSP и устройства, такие как клавиатура, мыши, сенсорный ввод, перо и т. д.

Существует три возможных состояния для запущенных приложений виртуальной машины с подсистема Windows для Android ™️:

  1. Выполняется
  2. Спящий режим — активируется после отсутствия активности приложения в течение 3 минут, деактивируется при выполнении пользователем действия или при появлении уведомления от приложения.
  3. Не запущена — активируется после отсутствия активности приложения в течение 7 минут,

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

VM lifecycle graph showing the running, lightweight doze, and not running

Свойства виртуальной машины

Ниже перечислены свойства виртуальной машины подсистема Windows для Android ™️. Не рекомендуется прописывать в коде эти значения, так как это может привести к несовместимости в будущем.

Свойство Значение
Build.MANUFACTURER Microsoft Corporation
Build.MODEL Подсистема для Android(TM)
Build.VERSION.SDK_INT 33
Build.BOARD windows

Перенаправление в приложения Windows

™️ подсистема Windows для Android автоматически перенаправляет намерения для файлов и распространенных схем URI в соответствующий обработчик файлов и протоколов Windows по умолчанию (если совпадают несколько фильтров намерений, пользователи видят параметр "Приложение по умолчанию Для Windows" в диалоговом окне выбора). Поддерживаемые намерения файлов включают ACTION_VIEW, ACTION_EDIT, ACTION_SEND и ACTION_SEND_MULTIPLE, которые копируют файл в папку загрузки Windows перед открытием файла. Поддерживаемые намерения URI включают ACTION_VIEW для схем http/https и ACTION_VIEW и ACTION_SENDTO для схемы mailto.

Приложения Android также могут вручную перенаправляться в приложения Windows с помощью пользовательских схем URI. Задайте действие com.microsoft.windows.LAUNCH_URI намерения и добавьте строку дополнительно в намерение com.microsoft.windows.EXTRA_URI с пользовательским универсальным кодом ресурса (URI) в качестве значения. Например, чтобы запустить приложение "Калькулятор Windows" из приложения Android (Java):

Intent intent = new Intent("com.microsoft.windows.LAUNCH_URI");
intent.putExtra("com.microsoft.windows.EXTRA_URI", "ms-calculator:");
 
try {
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    // Not running in Windows Subsystem for Android™️ (or running on an older build that did not contain this feature).
}

Безопасность

Как драйверы Windows режима ядра, так и приложения Windows, работающие на среднем уровне целостности (IL), могут проверять произвольные контейнеры Android и память приложений Android. В краткосрочной перспективе не планируется добавлять обнаружение мошенничества, макросов, ботов и подозрительного поведения.

Разработчики, которые выполнят запрос getSecurityLevel, получат SECURITY_LEVEL_SW_SECURE_CRYPTO. Дополнительные сведения о getSecurityLevel см. в справочнике по API Android.

Удаление подсистема Windows для Android ™️

Вы можете удалить подсистема Windows для Android ™️, но обратите внимание, что все связанные приложения также будут удалены.

  • Удаление Amazon Appstore приведет к удалению подсистема Windows для Android ™️ и всех других приложений Android.
  • При удалении приложения из Amazon Appstore будет удалено только это приложение (как и в случае приложений для Windows).
  • Удаление подсистема Windows для Android ™️ приведет к удалению Amazon Appstore и всех приложений Android.

Устранение неполадок

При возникновении проблем, связанных с Amazon Appstore на Windows, выполните следующие действия по устранению неполадок:

  1. Выберите Windows Search на панели задач Windows.
  2. Выполните поиск по запросу Amazon Appstore и щелкните правой кнопкой мыши значок Amazon AppStore.
  3. Выберите в раскрывающемся списке "Параметры приложения".
  4. Выберите "Хранилище и кэш" и щелкните "Очистить хранилище" и "Очистить кэш".
  5. Вернитесь и выберите "Принудительно остановить".
  6. Закройте окно параметров Amazon Appstore.
  7. Запустите Amazon AppStore заново.

Дополнительные действия по устранению неполадок, связанных с приложением подсистема Windows для Android ™️ Параметры или отзывом с помощью Центра отзывов, см. в статье "Устранение неполадок и часто задаваемые вопросы о мобильных приложениях в Windows".

Для любых других вопросов и поддержки разработчиков используйте тег подсистема Windows для Android ™️ в Microsoft Q&A.

Дополнительные ресурсы