![Windows Subsystem for Android | Embarcadero RAD Studio Delphi C++Builder Blogs windows subsystem for android 3](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Windows-Subsystem-for-Android-8079461-2357578.jpg?resize=1140%2C694&ssl=1)
O Windows Subsystem for Android (WSA) integra aplicativos Android nativos à área de trabalho do Windows 11. Este post ensinará como configurar e configurar o Windows Subsystem para Android para uso no desenvolvimento de software. Será muito mais fácil para os desenvolvedores replicar isso com o uso de ferramentas do Windows para desenvolvedores .
Continue lendo para ver o que é necessário para executar o WSA, bem como o que é necessário para direcioná-lo em seu desenvolvimento Android. O Windows Subsystem para Android está disponível para visualização pública no Windows 11. Fui acompanhado por um convidado surpresa especial: Scott Hanselman .
Assista a reprise completa no YouTube
Table of Contents
Android no Windows?
- O Windows Subsystem for Android (WSA) executa aplicativos Android no Windows 11
- Executa o Android 11 nos bastidores
- Semelhante ao Windows Subsystem for Linux (WSL)
- Vem com Amazon Appstore (apenas nos EUA por enquanto)
- É necessária uma conta Amazon para usar a Amazon Appstore
- Permite suporte ao modo de desenvolvedor e sideload
- Aplicativos Android estão no seu menu iniciar
- Apenas no Windows 11
- O WSA utiliza uma máquina virtual (VM)
Requisitos de hardware
- Requer um SSD
- Não consegui executá-lo em uma VM
- No Windows x64 (Intel ou AMD) usa uma camada de interoperabilidade
- No Windows ARM64 ele é executado nativamente
- O Windows 11 impõe um requisito mínimo de tela de resolução de 720p (1280×720) com uma tela >9”.
![Android016176918 | Embarcadero RAD Studio Delphi C++Builder Blogs android01 6176918 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android01-6176918-3764157.jpg?resize=387%2C136&ssl=1)
Documentação de requisitos do sistema
WSA support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
Windows 11 support.microsoft.com/windows/86c11283-ea52-4782-9efd-7674389a7ba3
Instalação WSA
![Android027199513 | Embarcadero RAD Studio Delphi C++Builder Blogs android02 7199513 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android02-7199513-5752792.jpg?w=750&ssl=1)
- O Windows Subsystem para Android está disponível para visualização pública no Windows 11.
- Instale a Amazon Appstore da Microsoft Store.
- Como alternativa, basta instalar um aplicativo Android da Microsoft Store.
- docs.microsoft.com/en-us/windows/android/wsa/ & support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
Ciclo de vida da VM WSA
![Android034969074 | Embarcadero RAD Studio Delphi C++Builder Blogs android03 4969074 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android03-4969074-3194369.jpg?w=750&ssl=1)
- Há três estados possíveis para a VM executando aplicativos com o Windows Subsystem para Android:
- Correndo
- Soneca leve: depois de 3 minutos sem atividade no aplicativo. Desativado pela atividade do usuário ou uma notificação do aplicativo.
- Não correr: Após a atividade por 7 minutos.
- As transições entre esses estados são acionadas pela atividade do usuário, aplicativo Android ou uma notificação do aplicativo.
- Os aplicativos Android são pausados e interrompidos quando a janela é minimizada.
- Documentos docs.microsoft.com/en-us/windows/android/wsa/
atuação
![Android046221899 | Embarcadero RAD Studio Delphi C++Builder Blogs android04 6221899 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android04-6221899.png?resize=750%2C242&ssl=1)
- Os dados neste gráfico são coletados de resultados de CPU do Geekbench 5 enviados pelo usuário do navegador Geekbench: browser.geekbench.com
- Fontes:
Teste de desempenho de senha
![Android057822183 | Embarcadero RAD Studio Delphi C++Builder Blogs android05 7822183 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android05-7822183-9928632.jpg?w=750&ssl=1)
- Fontes: PassMark PerformanceTest Mobile
Relatório de hardware
![Android068432563 | Embarcadero RAD Studio Delphi C++Builder Blogs android06 8432563 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android06-8432563.png?resize=750%2C256&ssl=1)
Observações: A partir do Geekbench 5, a
resolução é baseada no tamanho da janela do aplicativo Android
320 PPI ao executar em escala de 200%
160 PPI ao executar em escala de 100%
Configurações e modo de desenvolvedor
![Android076743286 | Embarcadero RAD Studio Delphi C++Builder Blogs android07 6743286 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android07-6743286-5199269.jpg?w=750&ssl=1)
- Inicie o Windows Subsystem para Android
- Role para baixo e ative o modo de desenvolvedor
- Copie o endereço IP
- Use ADB para conectar -> adb connect172.24.203.234
- Opcional:
- Conecte-se de outros computadores locais através do seu endereço IP e porta especificada
- Gerenciar configurações do Android via link
- Observação:
- O subsistema pode ser executado “Conforme necessário” ou “Contínuo”
- Os arquivos permitem que você navegue, mas não transfira arquivos
Mergulhando em detalhes
![Android088895456 | Embarcadero RAD Studio Delphi C++Builder Blogs android08 8895456 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android08-8895456.png?resize=750%2C310&ssl=1)
Quem é Houdini?
- Ponte nativa ARM para x86 da Intel.
- Não há muita informação pública oficial.
- Também usado em Chromebooks Intel e emuladores de desktop como BlueStacks e NOX.
- Lê os opcodes ARM e produz o comportamento correspondente em x86.
- binfmt_misc (formato binário diverso) O recurso do kernel do Linux passa o ARM para o Houdini.
- Arquivos relacionados no WSA
- /system/lib64/libhoudini.so
- /system/lib/libhoudini.so
- /vendor/lib/libhoudini.so
- /vendor/lib64/libhoudini.so
- /proc/sys/fs/binfmt_misc
- /vendor/etc/binfmt_misc/arm64_dyn
- /vendor/etc/binfmt_misc/arm64_exe
- /vendor/etc/binfmt_misc/arm_dyn
- /vendor/etc/binfmt_misc/arm_exe
Carregamento lateral
- Conectar: adb conectar<ip>
- Verifique a conexão: dispositivos adb
- Instalar: adb install -r –no-streaming<arquivo apk>
- Desinstalar: adb shell pm uninstall -kcom.embarcadero.ProjectName
- Execute o aplicativo: adb shell am start -ncom.embarcadero.ProjectName/com.embarcadero.firemonkey.FMXNativeActivity
- Aplicativo Kill/Stop: adb shell am force-stop com.embarcadero.ProjectName
- Abrir shell: adb -d shell
- Arquivo push: adb push <nome do arquivo local> /storage/emulated/0/Download
- Arquivo de extração: adb pull /storage/emulated/0/Download <nome do arquivo local>
Segmentação do Delphi & RAD Studio IDE
![Android098753876 | Embarcadero RAD Studio Delphi C++Builder Blogs android09 8753876 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android09-8753876-6573538.jpg?w=750&ssl=1)
- Um único projeto FMX já pode ter como alvo Windows ou Android.
- O WSA está em Preview e ainda não é totalmente suportado pelo Delphi, mas isso não vai nos parar….
- Conecte-se com o ADB e, em seguida, ele aparece no IDE.
- Os aplicativos FireMonkey não são executados ou relatam o erro “Seu dispositivo Android não suporta a arquitetura de plataforma selecionada”.
- Carregamento lateral!
- Compilar para Android 64
- adb install -r –no-streaming FireMonkeyApp.apk
- Também tornar redimensionável
Tornando seu aplicativo Android redimensionável
![Android104036795 | Embarcadero RAD Studio Delphi C++Builder Blogs android10 4036795 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android10-4036795-1284497.jpg?w=750&ssl=1)
- Editar AndroidManifest.Template.xml
<aplicativo android:resizeableActivity=“verdadeiro”>
- Observe que, se você tiver vários aplicativos Android na mesma pasta, eles compartilham o mesmo AndroidManifest.Template.xml
- Permite que o aplicativo FMX Android seja redimensionado conforme o esperado.
Automatizando o manual
![Android112170348 | Embarcadero RAD Studio Delphi C++Builder Blogs android11 2170348 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android11-2170348.png?resize=750%2C392&ssl=1)
- Adicionar manualadb.bat ao menu Ferramentas do IDE
- Ferramentas -> Configurar Ferramentas -> Adicionar
- Com parâmetros: $PATH($EXENAME) $NAMEONLY($PROJECT)
- Fonte: gist.github.com/jimmckeeth/3a453ccdb1a387644ca137b499d01879
Testes de snippets para dispositivos móveis
![Android131010219 | Embarcadero RAD Studio Delphi C++Builder Blogs android13 1010219 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android13-1010219-3973463.jpg?w=750&ssl=1)
![Android127163568 | Embarcadero RAD Studio Delphi C++Builder Blogs android12 7163568 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2022/03/Android12-7163568.png?resize=396%2C245&ssl=1)
- A localização deve ser habilitada no Windows para funcionar no WSA
- A notificação aparece na área de trabalho e pode ativar o WSA
Mais Informações
- Slides do webinar, links, repetição: blogs.embarcadero.com/?p=134192
- GIST de implantação do ADB: gist.github.com/jimmckeeth/3a453ccdb1a387644ca137b499d01879
- Blog de introdução: blogs.windows.com/windows-insider/2021/10/20/introducing-android-apps-on-windows-11-to-windows-insiders/
- Documentos do Windows Subsystem para Android: docs.microsoft.com/en-us/windows/android/wsa/
- Notas de versão do WSA: docs.microsoft.com/en-us/windows/android/wsa/release-notes
- Requisitos de hardware WSA: support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c
- Aplicativos móveis no Windows: support.microsoft.com/windows/abed2335-81bf-490a-92e5-fe01b66e5c48
- Vídeo de Scott no WSA: https://youtu.be/FN6zON_zKd8
- Scott Hanselman online: www.hanselman.com , www.hanselminutes.com e @shanselman
- Slight of ARM: Desmistificando Intel Houdini por Brian Hong da DefCon 29
- Vídeo: https://youtu.be/9oQ5XjA1aq0 Slides: https://bit.ly/3IzoMkM
Próximos passos
- Inicie uma avaliação do RAD Studio embarcadero.com/products/rad-studio/start-for-free
- Obtenha o Community Edition embarcadero.com/products/delphi/starter
- Veja as ofertas especiais embarcadero.com/radoffer
- Inscreva-se no YouTube youtube.com/c/EmbarcaderoTechnologies
- Siga-nos no Twitter twitter.com/embarcaderotech
- Curta nossa página no Facebook facebook.com/embarcaderotech
- Siga-nos no LinkedIn linkedin.com/company/embarcadero-technologies
- Leia nosso blog blogs.embarcadero.com
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition