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.18
...
[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
(beeware-venv) $ briefcase create android
[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18
...
[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
(beeware-venv) C:\...>briefcase create android
[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18
...
[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
(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
(beeware-venv) C:\...>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
>
(beeware-venv) $ briefcase run android
Select device:
1) Create a new Android emulator
>
(beeware-venv) C:\...>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
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
Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto o aplicativo é iniciado:

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 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.
Enquanto o aplicativo estiver em execução, você verá muitas mensagens sendo transmitidas no console. Esse é um fluxo de logs do aplicativo do emulador. Digitar Ctrl+C no terminal interromperá as informações transmitidas no console, mas não fechará o emulador. Isso serve para que você possa testar novas alterações sem reiniciar o emulador.
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
>
(beeware-venv) $ briefcase run android
Select device:
1) Pixel 3a (94ZZY0LNE8)
2) @beePhone (emulator)
3) Create a new Android emulator
>
(beeware-venv) C:\...>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! Existe algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte o Tutorial 6 para descobrir…