Ir para o conteúdo

Tutorial 5 - Adaptar para móvel: Android

Agora, vamos pegar na nossa aplicação e implantá-la como uma aplicação Android.

O processo de implementação de uma aplicação no Android é muito semelhante ao processo de implementação como uma aplicação de ambiente de trabalho. O Briefcase lida com a instalação de dependências para o Android, incluindo o SDK do Android, o emulador de Android e um compilador Java.

Criar uma aplicação Android e compilá-la

Primeiro, execute o comando create. Isto descarrega um modelo de aplicação Android e adiciona seu código Python a ele.

(beeware-venv) $ briefcase create android

[helloworld] A gerar modelo de aplicação...
A usar modelo de aplicação: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...

[helloworld] A instalar pacote de suporte...
Nenhum pacote de suporte necessário.

[helloworld] A instalar o código da aplicação...
A instalar src/helloworld... concluído

[helloworld] A instalar os requisitos...
A gravar ficheiro de requisitos... concluído

[helloworld] A instalar recursos da aplicação...
...

[helloworld] A remover conteúdo desnecessário da aplicação...
A remover conteúdo desnecessário do pacote da aplicação... concluído

[helloworld] Criado build/helloworld/android/gradle
(beeware-venv) $ briefcase create android

[helloworld] A gerar modelo de aplicação...
A usar modelo de aplicação: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...

[helloworld] A instalar pacote de suporte...
Nenhum pacote de suporte necessário.

[helloworld] A instalar o código da aplicação...
A instalar src/helloworld... concluído

[helloworld] A instalar os requisitos...
A gravar ficheiro de requisitos... concluído

[helloworld] A instalar recursos da aplicação...
...

[helloworld] A remover conteúdo desnecessário da aplicação...
A remover conteúdo desnecessário do pacote da aplicação... concluído

[helloworld] Criado build/helloworld/android/gradle
(beeware-venv) C:\...>briefcase create android

[helloworld] A gerar modelo de aplicação...
A usar modelo de aplicação: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...

[helloworld] A instalar pacote de suporte...
Nenhum pacote de suporte necessário.

[helloworld] A instalar o código da aplicação...
A instalar src/helloworld... concluído

[helloworld] A instalar os requisitos...
A gravar ficheiro de requisitos... concluído

[helloworld] A instalar recursos da aplicação...
...

[helloworld] A remover conteúdo desnecessário da aplicação...
A remover conteúdo desnecessário do pacote da aplicação... concluído

[helloworld] Criado build\helloworld\android\gradle

Quando corre o briefcase create android pela primeira vez, o Briefcase faz descarrega o Java JDK e do Android SDK. O tamanho dos ficheiros e o tempo de descarga podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua ligação à Internet). Quando a descarga estiver concluída, será solicitado a ver e aceitar a licença do Android SDK do Google. Há um número de licenças que também tem de aceitar - vá inserindo y no aviso para ver e aceitar cada um dos acordos de licença necessários.

Assim que isto estiver concluído, vamos ter um diretório build\helloworld\android\gradle no nosso projeto, que vai conter um projeto Android com uma configuração de compilação do Gradle. Esse projeto vai conter o código da sua aplicação e um pacote de suporte que contém o interpretador Python.

Então podemos usar o comando build do Briefcase para compilar isto num ficheiro de aplicação APK para Android.

(beeware-venv) $ briefcase build android

[helloworld] A atualizar metadados da aplicação...
A configurar o módulo principal... concluído

[helloworld] A compilar APK do Android...
A iniciar um Daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
A compilar... concluído

[helloworld] Compilado build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk
(beeware-venv) $ briefcase build android

[helloworld] A atualizar metadados da aplicação...
A configurar o módulo principal... concluído

[helloworld] A compilar APK do Android...
A iniciar um Daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
A compilar... concluído

[helloworld] Compilado build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk
(beeware-venv) C:\...>briefcase build android

[helloworld] A atualizar metadados da aplicação...
A configurar o módulo principal... concluído

[helloworld] A compilar APK para Android...
A iniciar um Daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
A compilar... concluído

[helloworld] Compilado build\helloworld\android\gradle\app\build\outputs\apk\debug\app-debug.apk

O Gradle pode parecer travado

Durante o passo briefcase build android, o Gradle (a ferramenta de compilação da plataforma Android) vai escrever CONFIGURING: 100% e vai parecer que não está a fazer nada. Não se preocupe, ela não está bloqueada - está a descarregar mais componentes do Android SDK. Dependendo da velocidade da sua ligação à Internet, isto pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que corre o build; as ferramentas são armazenadas em cache e, na próxima compilação, são usadas as versões armazenadas em cache.

Executar a aplicação num dispositivo virtual

Agora estamos prontos para executar nossa aplicação. Pode usar o comando run do Briefcase para executar a aplicação num dispositivo Android. Vamos começar por executar num emulador de Android.

Para executar a sua aplicação, execute briefcase run android. Ao fazer isso, vai ser-lhe mostrada uma lista de dispositivos nos quais pode executar a aplicação. O último item será sempre uma opção para criar um novo emulador de Android.

(beeware-venv) $ briefcase run android

Selecione o dispositivo:

  1) Criar um novo emulador de Android

>
(beeware-venv) $ briefcase run android

Selecione o dispositivo:

  1) Criar um novo emulador de Android

>
(beeware-venv) C:\...>briefcase run android

Selecione o dispositivo:

  1) Criar um novo emulador de Android

>

Agora podemos escolher o nosso dispositivo desejado. Selecione a opção "Criar um nono emulado de Android" e aceite a opção predefinida para o nome do dispositivo (beePhone).

O run do Briefcase vai inicializar automaticamente o dispositivo virtual. Quando o dispositivo está a arrancar, verá o logotipo do Android:

Android virtual device booting

Arranque do dispositivo virtual Android

Quando o dispositivo terminar a inicialização, o Briefcase vai instalar a sua aplicação no dispositivo. Verá brevemente um ecrã de lançamento:

Android virtual device fully started, on the launcher
screen

Dispositivo virtual Android totalmente iniciado, no ecrã do lançador

A aplicação será então iniciada. Vai ver um ecrã inicial enquanto a aplicação arranca:

App splash screen

Ecrã inicial da aplicação

O emulador não arrancou!

O emulador de Android é um software complexo que depende de várias funcionalidades de hardware e do sistema operativo - funcionalidades que podem não estar disponíveis ou habilitadas em máquinas mais antigas. Se tiver alguma dificuldade em iniciar o emulador de Android, consulte a secção Requisitos e recomendações da documentação de desenvolvedor de Android.

Na primeira vez que a aplicação é iniciada, ela precisa de descompactar-se no dispositivo. Isso pode levar alguns segundos. Depois de descompactada, verá a versão para Android da nossa aplicação para ambiente de trabalho:

Demo app fully launched

Aplicação de demonstração totalmente lançada

Se não conseguir ver a sua aplicação a ser lançada, talvez precise de verificar o seu terminal onde executou o briefcase run e procurar mensagens de erro.

Enquanto a aplicação estiver em execução, vai ver muitas mensagens sendo transmitidas na consola. Esse é um fluxo de relatórios da aplicação a partir do emulador. Teclar Ctrl+C no terminal vai interromper as informações transmitidas na consola, mas não vai fechar o emulador. Isso serve para que possa testar novas alterações sem reiniciar o emulador.

No futuro, se quiser executar nesse dispositivo sem usar o menu, pode fornecer o nome do emulador ao Briefcase, usando briefcase run android -d @beePhone para executar diretamente no dispositivo virtual.

Executar a aplicação num dispositivo físico

Se tiver um telefone ou tablet Android físico, poderá liga-lo ao seu computador com um cabo USB, e depois usar o Briefcase para apontar ao seu dispositivo físico.

O Android exige que prepare o seu dispositivo antes que possa ser usado para desenvolvimento. Vai precisar fazer duas alterações nas opções do seu dispositivo:

  • Ativar opções de desenvolvedor
  • Ativar a depuração USB

Detalhes sobre como fazer estas alterações podem ser encontrados na documentação do desenvolvedor de Android.

Depois destes passos estarem concluídos, o seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando correr briefcase run android.

(beeware-venv) $ briefcase run android

Selecione o dispositivo:

  1) Pixel 3a (94ZZY0LNE8)
  2) @beePhone (emulador)
  3) Criar um novo emulador de Android

>
(beeware-venv) $ briefcase run android

Selecione o dispositivo:

  1) Pixel 3a (94ZZY0LNE8)
  2) @beePhone (emulador)
  3) Criar um novo emulador de Android

>
(beeware-venv) C:\...>briefcase run android

Selecione o dispositivo:

  1) Pixel 3a (94ZZY0LNE8)
  2) @beePhone (emulador)
  3) Criar um novo emulador de Android

>

Aqui podemos ver um novo dispositivo físico com o seu número de série na lista de implementação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, poderá fornecer o número de série do telefone ao Briefcase (nesse caso, briefcase run android -d 94ZZY0LNE8). Isto será executado diretamente no dispositivo, sem mais comandos.

O meu dispositivo não aparece!

Se o seu dispositivo não aparecer nesta lista, ou não ativou a depuração USB, ou o dispositivo não está ligado!.

Se o seu dispositivo aparecer, mas estiver listado como "Dispositivo desconhecido (não autorizado para desenvolvimento)", o modo de desenvolvedor não foi ativado corretamente. Execute novamente os passos para ativar as opções de desenvolvedor e execute novamente briefcase run android.

Próximos passos

Agora temos uma aplicação no nosso telefone! Existe mais algum lugar onde possamos implementar uma aplicação BeeWare? Consulte o Tutorial 6 para descobrir…