Tutorial 5 - Levando para o Mobile: Android#

Agora, vamos pegar nosso aplicativo e implantá-lo como um aplicativo Android.

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

Criar um aplicativo Android e compilá-lo#

Primeiro, execute o comando create. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele.

(beeware-venv) $ briefcase create android

[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.14
...

[helloworld] Installing support package...
No support package required.

[helloworld] Installing application code...
Installing src/helloworld... done

[helloworld] Installing requirements...
Writing requirements file... done

[helloworld] Installing application resources...
...

[helloworld] Removing unneeded app content...
Removing unneeded app bundle content... done

[helloworld] Created build/helloworld/android/gradle

Quando você executa o briefcase create android pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google.

Quando isso for concluído, teremos um diretório build\helloworld\android\gradle em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python.

Em seguida, podemos usar o comando build do Briefcase para compilar isso em um arquivo de aplicativo APK para Android.

(beeware-venv) $ briefcase build android

[helloworld] Updating app metadata...
Setting main module... done

[helloworld] Building Android APK...
Starting a Gradle Daemon
...
BUILD SUCCESSFUL in 1m 1s
28 actionable tasks: 17 executed, 11 up-to-date
Building... done

[helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk

O Gradle pode parecer travado

Durante a etapa briefcase build android, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá CONFIGURING: 100% e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o build; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas.

Execute o aplicativo em um dispositivo virtual#

Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando run do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android.

Para executar seu aplicativo, execute briefcase run android. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android.

(beeware-venv) $ briefcase run android

Select device:

  1) Create a new Android emulator

>

Agora podemos escolher o dispositivo desejado. Selecione a opção «Create a new Android emulator» e aceite a opção padrão para o nome do dispositivo (beePhone).

O run do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:

Inicialização do dispositivo virtual Android

Inicialização do dispositivo virtual Android#

Quando o dispositivo terminar a inicialização, o Briefcase instalará seu aplicativo no dispositivo. Você verá brevemente uma tela de inicialização:

Dispositivo virtual Android totalmente iniciado, na tela do iniciador

Dispositivo virtual Android totalmente iniciado, na tela do iniciador#

Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto o aplicativo é iniciado:

Tela inicial do aplicativo

Tela inicial do aplicativo#

O emulador não foi iniciado!

O emulador do Android é um software complexo que depende de vários recursos de hardware e do sistema operacional - recursos que podem não estar disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma dificuldade para iniciar o emulador do Android, consulte a seção «Requisitos e recomendações» da documentação do desenvolvedor do Android.

Na primeira vez que o aplicativo é iniciado, ele precisa ser descompactado no dispositivo. Isso pode levar alguns segundos. Depois de descompactado, você verá a versão para Android do nosso aplicativo para desktop:

Aplicativo do Tutorial 2, totalmente lançado

Aplicativo de demonstração totalmente lançado#

Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o briefcase run e procurar mensagens de erro.

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

Execute o aplicativo em um dispositivo físico#

Se você tiver um telefone ou tablet Android físico, poderá conectá-lo ao seu computador com um cabo USB e, em seguida, usar o Briefcase para direcionar seu dispositivo físico.

O Android exige que você prepare seu dispositivo antes que ele possa ser usado para desenvolvimento. Você 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 essas alterações podem ser encontrados na documentação do desenvolvedor do Android.

Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o briefcase run android.

(beeware-venv) $ briefcase run android

Select device:

  1) Pixel 3a (94ZZY0LNE8)
  2) @beePhone (emulator)
  3) Create a new Android emulator

>

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

Meu dispositivo não aparece!

Se o seu dispositivo não aparecer nessa lista, você não ativou a depuração USB (ou o dispositivo não está conectado!).

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 as etapas para ativar as opções de desenvolvedor e execute novamente briefcase run android.

Próximos passos#

Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte Tutorial 6 para descobrir…