Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiNotíciaWebinar

Android no Windows 11: a perspectiva de um desenvolvedor

windows-subsystem-for-android-3

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”.
android01-6176918-2

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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android07-6743286-2
  • 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

android08-8895456-2

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

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android05-7822183-2

Relatório de hardware

android06-8432563-2

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

android07-6743286-2
  • 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

android08-8895456-2

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

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android04-6221899-2

Teste de desempenho de senha

android05-7822183-2

Relatório de hardware

android06-8432563-2

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

android07-6743286-2
  • 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

android08-8895456-2

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

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android03-4969074-2
  • 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

android04-6221899-2

Teste de desempenho de senha

android05-7822183-2

Relatório de hardware

android06-8432563-2

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

android07-6743286-2
  • 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

android08-8895456-2

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

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

android02-7199513-2

Ciclo de vida da VM WSA

android03-4969074-2
  • 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

android04-6221899-2

Teste de desempenho de senha

android05-7822183-2

Relatório de hardware

android06-8432563-2

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

android07-6743286-2
  • 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

android08-8895456-2

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

android09-8753876-2
  • 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

android10-4036795-2
  • 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

android11-2170348-2

Testes de snippets para dispositivos móveis

android13-1010219-2
android12-7163568-2
  • 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

Próximos passos

Kai 1.1 Now Available! Kai 1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

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

Sobre o autor

Diretor de Consultoria Delphi da GDK Software USA. Muitas patentes relacionadas a software, incluindo desbloqueio por deslize e padrão e mecanismos de pesquisa. Primeiros emblemas Silver e Gold Delphi no Stack Overflow Ex-advogado de desenvolvedores da Embarcadero Technologies. Fã de longa data de programação, principalmente de Delphi. Autor, Podcaster/YouTuber, Improvisor, Orador, Pai e Amigo.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES