Android “Debug” com o Magic xpa RIA

Com a liberação da versão 2.4 do Magic xpa, vários novos recursos estão disponíveis para os desenvolvedores de soluções Android (bem como iOS). Entre estes recursos, está a execução do programa pelo Studio, diretamente no emulador Android.

Isso significa que quando for executado um F7 (ou CTRL+F7) no Studio, o programa executará diretamente no emulador e não mais no MS-Windows.

Abaixo, seguem os passos necessários para fazer o ‘debug’ diretamente no emulador Android:

1. Instalação do Client RIA (APK)

Primeiro passo, é instalar o client Magic xpa no emulador. Não precisa informar nenhum arquivo de conexão (DevProps.???). Basta apenas instalar o APK:

Imagem_001

Necessitando mais dicas sobre esta instalação, visite este outro post.

2. Configuração do Android

No Android do emulador, ative a opção “Debug USB”:

Imagem_002

3. Configuração do Magic

A)     Na pasta “RIAModules\Android”(tem de ser estritamente este nome), editamos o arquivo “run.bat”. Nele, o valor da variável “PackageName” tem de ser exatamente igual ao “package.name” do APK instalado no emulador, no passo #1:

Imagem_003

B)     Um detalhe importante, é que o Magic xpa Studio sempre utiliza o nome da máquina como sendo o endereço do RIA Server. O emulador Android não reconhece os servidores pelo nome, mas pelo IP. Por isso, na pasta “RIAModules\Utils\adb”, entre no prompt do DOS e execute o comando: adb pull /system/etc/hosts

Imagem_004-A

C)     Edite o arquivo “RIAModules\Utils\adb\hosts” (baixado pelo comando anterior) e associe o nome da sua máquina (onde está o Magic xpa Studio e o emulador Android) ao ip 10.0.2.2. Isso permitirá ao Android no emulador reconhecer a sua máquina pelo nome (redirecionando as chamadas para o endereço 10.0.2.2). Isso é importante porque quando executamos um programa/aplicação pelo Magic xpa Studio, ele utiliza sempre o nome da máquina atual como sendo o RIA Server.

Imagem_004-B

Observe que como este arquivo é para um sistema Linux, o final da linha precisa ser apenas LF (line feed).

D)     Em seguida, execute o comando: adb push hosts /system/etc/hosts, para atualizar novamente o arquivo hosts no Android.

E)      Se por alguma razão o seu emulador não permitir alterações no arquivo “hosts”, existe outra opção.

  • Baixe o utilitário XpaXmlFix.exe do FTP da MSB.
  • Copie-o na pasta “RIAModules\Utils\adb”

Imagem_004-C

  • Edite o arquivo “run.bat” na pasta “RIAModules\Android” e adicione o comando: call ..\utils\adb\XpaXmlFix.exe “%~1” <machine> <ip> antes do comando “adb push”:

Imagem_004-D

Onde <machine> representa o nome da sua máquina e <ip> é o endereço que você deseja que o emulador use para conectar ao RIA Server.

4.   Executando o Programa/Aplicação

No Magic xpa Studio há um novo botão na barra de ferramentas, com o ícone do Android, que pertence ao menu “Debug”:

Imagem_005

Quando este botão não está pressionado, o comportamento é o mesmo das versões anteriores: executar o programa/aplicação no RIA MS-Windows:

Imagem_006

Mas se este botão estiver pressionado, o Magic xpa Studio emitirá o comando:

cmd /c <xpa_folder>\RIAModules\Android\Run.bat “<project_folder>\execution.properties”

Se o emulador estiver ativo, e o referido APK estiver instalado, o programa abre diretamente no emulador:

Imagem_007

Manoel Frederico - Gerente de Produto e Magic Evangelista
Manoel Frederico – Gerente de Produto e Magic Evangelista

 

 

 

Um comentário

  1. Para que o xpa Studio utilize outra informação que não o nome da máquina no arquivo “execution.properties”, basta definir o endereço completo do requester no menu “Options > Settings >
    Environment > Server – tab > HTTP Requester”
    , ex:

    http://10.0.2.2/Magic24Scripts/MGrqispi.dll

    O xpa Studio usa esta informação para montar as tags , e do arquivo “execution.properties”

Deixe um comentário

O seu endereço de e-mail não será publicado.