Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiWebinarНовости

Android на Windows 11: взгляд разработчика

windows subsystem for android 3

Подсистема Windows для Android (WSA) интегрирует собственные приложения Android в рабочий стол Windows 11. В этом посте вы узнаете, как установить и настроить подсистему Windows для Android для использования в разработке программного обеспечения. Разработчикам будет намного проще воспроизвести это с помощью инструментов Windows для разработчиков .

Читайте дальше, чтобы узнать, что требуется для запуска WSA, а также что требуется для его таргетинга из вашей разработки Android. Подсистема Windows для Android доступна для общедоступной предварительной версии в Windows 11. Ко мне присоединился специальный неожиданный гость: Скотт Хансельман . 

Смотрите полный повтор на YouTube

Андроид на винде?

  • Подсистема Windows для Android (WSA) запускает приложения Android в Windows 11.
  • Запускает Android 11 за кулисами
  • Похоже на: Подсистема Windows для Linux (WSL)
  • Поставляется с Amazon Appstore (пока только для США)
    • Для использования Amazon Appstore требуется учетная запись Amazon.
  • Позволяет поддерживать режим разработчика и загружать неопубликованные приложения.
  • Приложения для Android находятся в меню «Пуск»
  • Только в Виндовс 11
  • WSA использует виртуальную машину (VM)

Требования к оборудованию

  • Требуется SSD
  • Я не смог запустить его на виртуальной машине
  • В Windows x64 (Intel или AMD) используется уровень взаимодействия.
  • В Windows ARM64 он работает изначально
  • Windows 11 применяет минимальное требование к экрану: разрешение 720p (1280×720) с экраном> 9 дюймов.
android01 6176918 2

Документация по системным требованиям
WSA support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
Windows 11 support.microsoft.com/windows/86c11283-ea52-4782-9efd-7674389a7ba3

Установка WSA

 

android02 7199513 2

Жизненный цикл ВМ WSA

android03 4969074 2
  • Существует три возможных состояния виртуальной машины, на которой запущены приложения с подсистемой Windows для Android:
    • Бег
    • Легкая дремота: после отсутствия активности в приложении в течение 3 минут. Деактивировано действиями пользователя или уведомлением приложения.
    • Не работает: после активности в течение 7 минут.
  • Переходы между этими состояниями запускаются активностью пользователя, приложением Android или уведомлением приложения.
  • Приложения Android приостанавливаются, а затем останавливаются, когда их окно свернуто.
  • Документы docs.microsoft.com/en-us/windows/android/wsa/

Представление

android04 6221899 2
  • Данные на этой диаграмме собраны из предоставленных пользователями результатов Geekbench 5 CPU из браузера Geekbench: browser.geekbench.com

Тест производительности Passmark

android05 7822183 2

Отчет об оборудовании

android06 8432563 2

Примечания: Из Geekbench 5
Разрешение основано на размере окна приложения Android
320 PPI при работе в масштабе 200 %
160 PPI при работе в масштабе 100 %.

Настройки и режим разработчика

android07 6743286 2
 
  • Запустите подсистему Windows для Android
  • Прокрутите вниз и включите режим разработчика
  • Скопируйте IP-адрес
  • Используйте ADB для подключения -> подключение adb172.24.203.234
  • Необязательный:
    • Подключайтесь с других локальных компьютеров через указанный вами IP-адрес и порт
    • Управление настройками Android по ссылке
  • Примечание:
    • Подсистема может работать «по мере необходимости» или «непрерывно».
    • Файлы позволяют просматривать, но не передавать файлы

Копание в деталях

android08 8895456 2

Кто такой Гудини?

  • Собственный мост ARM для x86 от Intel.
  • Не так много официальной публичной информации.
  • Также используется в Intel Chromebook и эмуляторах настольных компьютеров, таких как BlueStacks и NOX.
  • Считывает коды операций ARM и создает соответствующее поведение в x86.
  • binfmt_misc (Miscellaneous Binary Format) Функция ядра Linux передает ARM в Houdini.
  • Связанные файлы на WSA
    • /system/lib64/libhoudini.so
    • /system/lib/libhoudini.so
    • /vendor/lib/libhoudini.so
    • /vendor/lib64/libhoudini.so
    • /proc/sys/fs/binfmt_misc
    • /поставщик/и т.д./binfmt_misc/arm64_dyn
    • /vendor/etc/binfmt_misc/arm64_exe
    • /vendor/etc/binfmt_misc/arm_dyn
    • /vendor/etc/binfmt_misc/arm_exe

Неопубликованная загрузка

  • Подключиться: adb подключить<ip>
  • Проверить соединение: устройства adb
  • Установить: adb install -r —no-streaming<apk-файл>
  • Удалить: adb shell pm uninstall -kcom.embarcadero.ИмяПроекта
  • Запустить приложение: adb shell am start -ncom.embarcadero.ИмяПроекта/com.embarcadero.firemonkey.FMXNativeActivity
  • Приложение Kill/Stop: adb shell am force-stop com.embarcadero.ProjectName
  • Открыть оболочку: adb -d shell
  • Push-файл: adb push <локальное имя файла> /storage/emulated/0/Download
  • Файл извлечения: adb pull /storage/emulated/0/Download <локальное имя файла>

Таргетинг из Delphi и RAD Studio IDE

android09 8753876 2
  • Один проект FMX уже может быть нацелен на Windows или Android.
  • WSA находится в предварительной версии и еще не полностью поддерживается Delphi, но это нас не остановит….
  • Подключитесь к ADB, и тогда он появится в IDE.
  • Приложения FireMonkey либо не запускаются, либо сообщают об ошибке «Ваше устройство Android не поддерживает выбранную архитектуру платформы».
  • Неопубликованная загрузка!
    • Компиляция для Android 64
    • adb install -r – без потоковой передачи FireMonkeyApp.apk
    • Также сделать изменяемый размер

Изменение размера вашего приложения для Android

android10 4036795 2
  • Изменить AndroidManifest.Template.xml

<приложение Android: resizeableActivity =«правда»>

  • Обратите внимание: если у вас есть несколько приложений Android в одной папке, они используют один и тот же файл AndroidManifest.Template.xml .
  • Позволяет Android-приложению FMX изменять размер, как ожидалось.

Автоматизация руководства

android11 2170348 2
  • Добавьте manualadb.bat в меню инструментов IDE.
    • Инструменты -> Инструменты настройки -> Добавить
  • С параметрами: $PATH($EXENAME) $NAMEONLY($PROJECT)
  • Источник: gist.github.com/jimmckeeth/3a453ccdb1a387644ca137b499d01879

Мобильные сниппеты

android13 1010219 2
android12 7163568 2
  • Расположение должно быть включено в Windows для работы в WSA.
  • Уведомление появляется на рабочем столе и может разбудить WSA

Больше информации

Следующие шаги

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Об авторе

Директор Delphi Consulting компании GDK Software USA. Множество патентов, связанных с программным обеспечением, в том числе разблокировка с помощью смахивания и графического ключа и поисковые системы. Первые серебряные и золотые значки Delphi на переполнение стека Бывший адвокат разработчиков Embarcadero Technologies. Давний поклонник программирования, особенно Delphi. Автор, подкастер/ютубер, импровизатор, оратор, отец и друг.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

IN THE ARTICLES