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] Gerando modelo de aplicativo...
Usando modelo de aplicativo: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...
[helloworld] Instalando pacote de suporte...
Nenhum pacote de suporte necessário.
[helloworld] Instalando o código do aplicativo...
Instalando src/helloworld... concluído
[helloworld] Instalando os requisitos...
Gravando arquivo de requisitos... concluído
[helloworld] Instalando recursos da aplicação...
...
[helloworld] Removendo conteúdo desnecessário da aplicação...
Removendo conteúdo desnecessário do pacote da aplicação... concluído
[helloworld] Criado build/helloworld/android/gradle
(beeware-venv) $ briefcase create android
[helloworld] Gerando modelo de aplicativo...
Usando modelo de aplicativo: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...
[helloworld] Instalando pacote de suporte...
Nenhum pacote de suporte necessário.
[helloworld] Instalando o código do aplicativo...
Instalando src/helloworld... concluído
[helloworld] Instalando os requisitos...
Gravando arquivo de requisitos... concluído
[helloworld] Instalando recursos da aplicação...
...
[helloworld] Removendo conteúdo desnecessário da aplicação...
Removendo conteúdo desnecessário do pacote da aplicação... concluído
[helloworld] Criado build/helloworld/android/gradle
(beeware-venv) C:\...>briefcase create android
[helloworld] Gerando modelo de aplicativo...
Usando modelo de aplicativo: https://github.com/beeware/briefcase-android-gradle-template.git, ramificação v0.3.18
...
[helloworld] Instalando pacote de suporte...
Nenhum pacote de suporte necessário.
[helloworld] Instalando o código do aplicativo...
Instalando src/helloworld... concluído
[helloworld] Instalando os requisitos...
Gravando arquivo de requisitos... concluído
[helloworld] Instalando recursos da aplicação...
...
[helloworld] Removendo conteúdo desnecessário da aplicação...
Removendo conteúdo desnecessário do pacote da aplicação... concluído
[helloworld] Criado 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] Atualizando metadados do aplicativo...
Configurando o módulo principal... concluído
[helloworld] Compilando APK do Android...
Iniciando um daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
Compilando... concluído
[helloworld] Compilado build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk
(beeware-venv) $ briefcase build android
[helloworld] Atualizando metadados do aplicativo...
Configurando o módulo principal... concluído
[helloworld] Compilando APK do Android...
Iniciando um daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
Compilando... concluído
[helloworld] Compilado build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk
(beeware-venv) C:\...>briefcase build android
[helloworld] Atualizando metadados do aplicativo...
Configurando o módulo principal... concluído
[helloworld] Compilando APK para Android...
Iniciando um daemon do Gradle
...
COMPILAÇÃO BEM-SUCEDIDA em 1m 1s
28 tarefas executáveis: 17 executadas, 11 atualizadas
Compilando... concluído
[helloworld] Compilado 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
Selecione o dispositivo:
1) Criar um novo emulador Android
>
(beeware-venv) $ briefcase run android
Selecione o dispositivo:
1) Criar um novo emulador Android
>
(beeware-venv) C:\...>briefcase run android
Selecione o dispositivo:
1) Criar um novo emulador Android
>
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
Selecione o dispositivo:
1) Pixel 3a (94ZZY0LNE8)
2) @beePhone (emulador)
3) Criar um novo emulador Android
>
(beeware-venv) $ briefcase run android
Selecione o dispositivo:
1) Pixel 3a (94ZZY0LNE8)
2) @beePhone (emulador)
3) Criar um novo emulador Android
>
(beeware-venv) C:\...>briefcase run android
Selecione o dispositivo:
1) Pixel 3a (94ZZY0LNE8)
2) @beePhone (emulador)
3) Criar um novo emulador Android
>
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…