O segundo Visualização do Desenvolvedor do Android 11 já está disponível, teste e compartilhe seu feedback.

Criar e executar o app

O Android Studio configura novos projetos para implantar no Android Emulator ou em um dispositivo conectado com apenas alguns cliques. Depois que seu app for instalado, você poderá usar Apply Changes para implantar determinadas mudanças de código e recursos sem criar um novo APK.

Para criar e executar seu app, siga estas etapas:

  1. Na barra de ferramentas, selecione seu app no menu suspenso de configurações de execução.
  2. No menu suspenso de dispositivo de destino, selecione o dispositivo em que você quer executar seu app.

    Menu suspenso de dispositivo de destino.

    Se você não tiver nenhum dispositivo configurado, será necessário conectar um dispositivo via USB ou criar um AVD para usar o Android Emulator.

  3. Clique em Run .

Mudar a configuração de execução/depuração

Quando você executa o app pela primeira vez, o Android Studio usa uma configuração de execução padrão. A configuração de execução especifica se o app será implantado a partir de um APK ou de um Android App Bundle, o módulo executado, o pacote implantado, a atividade iniciada, o dispositivo de destino, as configurações do emulador, as opções do logcat e muito mais.

A configuração padrão de execução/depuração cria um APK, inicia a atividade de projeto padrão e usa a caixa de diálogo Select Deployment Target para seleção de dispositivo de destino. Se as configurações padrão não forem adequadas ao seu projeto ou módulo, você pode personalizar as configurações de execução/depuração ou mesmo criar novas configurações nos níveis de projeto, padrão e módulo. Para editar uma configuração de execução/depuração, selecione Run > Edit Configurations. Para mais informações, consulte Criar e editar configurações de execução/depuração.

Mudar a variante de build

Por padrão, o Android Studio cria a versão de depuração do app, destinada para uso apenas durante o desenvolvimento, quando você clica em Run.

Para mudar a variante de build que o Android Studio usa, selecione Build > Select Build Variant na barra de menus.

Para projetos sem código nativo/C++, o painel Build Variants tem duas colunas: Module e Active Build Variant. O valor Active Build Variant para o módulo determina qual variante de build o ambiente de desenvolvimento integrado implantará no dispositivo conectado e que ficará visível no editor.

Figura 1. O painel Build Variants tem duas colunas para projetos que não têm código nativo/C++.

Para alternar entre variantes, clique na célula Active Build Variant de um módulo e escolha a variante desejada no campo de lista.

Para projetos com código nativo/C++, o painel Buid Variants tem três colunas: Module, Active Build Variant e Active ABI. O valor da Active Build Variant para o módulo determina a variante de build que o ambiente de desenvolvimento integrado implantará no seu dispositivo e que ficará visível no editor. Para módulos nativos, o valor de Active ABI determina a ABI que o editor usa, mas não afeta o que é implantado.

Figura 2. O painel Build Variants adiciona a coluna Active ABI para projetos com código nativo/C++.

Para mudar a variante de build ou ABI, clique na célula da coluna Active Build Variant ou Active ABI e escolha a variante ou a ABI desejada na lista. Depois que você mudar a seleção, o ambiente de desenvolvimento integrado sincronizará seu projeto automaticamente. Mudar a coluna para um módulo de app ou de biblioteca aplicará a modificação a todas as linhas dependentes.

Por padrão, os novos projetos são configurados com duas variantes de build: depuração e lançamento. Você precisa criar a variante de lançamento para preparar seu app para o lançamento público.

Para criar outras variações do app, cada uma com recursos ou requisitos de dispositivo diferentes, você pode definir variações de build.

Criar o projeto

O botão Run cria e implanta o app em um dispositivo. No entanto, para criar seu app para compartilhar ou fazer upload no Google Play, você precisará usar uma das opções no menu Build e criar o projeto total ou parcialmente. Antes de selecionar qualquer uma das opções listadas na tabela 1, primeiro selecione a variante de build a ser usada.

Tabela 1. Opções no menu Build.

Item de menu Descrição
Make Module Compila no módulo selecionado todos os arquivos de origem que foram modificados desde a última compilação, assim como todos os módulos dos quais o módulo selecionado depende recursivamente. A compilação inclui arquivos de origem dependente e quaisquer tarefas associadas. Você pode selecionar o módulo a ser compilado selecionando o nome do módulo ou um dos arquivos dele na janela Project. Esse comando não gera um APK.
Make Project Faz todos os módulos.
Clean Project Exclui todos os arquivos de build intermediários/armazenados em cache.
Rebuild Project Executa o Clean Project para a variante de build selecionada e produz um APK.
Build Bundle(s) / APK(s) > Build APK(s)

Cria um APK de todos os módulos no projeto atual para a variante selecionada. Quando a build for concluída, uma notificação de confirmação será exibida, fornecendo um link para o arquivo APK e um link para analisá-lo no APK Analyzer.

Se a variante de build selecionada for um tipo de depuração, o APK será assinado com uma chave de depuração e estará pronto para ser instalado. Se você selecionou uma variante de versão, o APK não estará assinado por padrão e você precisará assiná-lo manualmente. Como alternativa, selecione Build > Generate Signed Bundle / APK na barra de menus.

O Android Studio salva os APKs que você criar em project-name/module-name/build/outputs/apk/.

Build Bundle(s) / APK(s) > Build Bundle(s)

Cria um Android APP Bundle de todos os módulos no projeto atual para a variante selecionada. Quando a build for concluída, uma notificação de confirmação será exibida, fornecendo um link para o pacote de apps e um link para análise no APK Analyzer.

Se a variante de build selecionada for um tipo de depuração, o pacote de apps será assinado com uma chave de depuração e você poderá usar o bundletool para implantar seu app do pacote de apps em um dispositivo conectado. Se você selecionou uma variante de versão, o pacote de apps não estará assinado por padrão e você precisará assiná-lo manualmente usando jarsigner. Como alternativa, selecione Build > Generate Signed Bundle / APK na barra de menus.

O Android Studio salva os APKs que você cria em project-name/module-name/build/outputs/bundle/.

Generate Signed Bundle / APK Abre uma caixa de diálogo com um assistente para definir uma nova configuração de assinatura e criar um APK ou um pacote de apps assinado. É necessário assinar o app com uma chave de versão antes de fazer upload dele para o Play Console. Se quiser mais informações sobre a assinatura de apps, consulte Assinar o app.

Observação: o botão Run cria um APK com testOnly="true", o que significa que o APK só pode ser instalado via adb, que o Android Studio usa. Se você quiser um APK depurável que as pessoas possam instalar sem o adb, selecione a variante de depuração e clique em Build Bundle(s) / APK(s) > Build APK(s).

Para mais detalhes sobre as tarefas que o Gradle executa para cada comando, abra a janela Build conforme descrito na próxima seção. Para mais informações sobre o Gradle e o processo de build, consulte Configurar sua versão.

Monitorar o processo de build

Veja detalhes sobre o processo de build clicando em View > Tool Windows > Build, ou clicando em Build na barra da janela de ferramentas. A janela exibe as tarefas que o Gradle executa para criar seu app, conforme mostrado na figura 3.

Figura 3. A janela de saída "Build" no Android Studio.

  1. Guia Build: exibe as tarefas que o Gradle executa como uma árvore, onde cada nó representa uma fase de build ou um grupo de dependências de tarefas. Se você receber erros de tempo de build ou de tempo de criação, inspecione a árvore e selecione um elemento para ler a saída do erro, como mostrado na figura 4.

    Figura 4. Inspecione a janela de saída "Build" em busca de mensagens de erro.

  2. Guia Sync: exibe as tarefas que o Gradle executa para sincronizar com os arquivos de projeto. Assim como na guia Build, se você encontrar um erro de sincronização, selecione elementos na árvore para ver mais informações sobre ele.
  3. Restart: executa a mesma ação que selecionar Build > Make Project, gerando arquivos intermediários de build para todos os módulos do projeto.
  4. Toggle view: alterna entre a exibição da execução da tarefa como uma árvore gráfica e a exibição de uma saída de texto mais detalhada do Gradle. Essa é a mesma saída que você vê na janela Gradle Console no Android Studio 3.0 e versões anteriores.

Se suas variantes de build usam variações de produto, o Gradle também invoca tarefas para criar essas variações. Para ver a lista de todas as tarefas de build disponíveis, clique em View > Tool Windows > Gradle, ou clique em Gradle na barra da janela de ferramentas.

Se ocorrer um erro durante o processo de build, o Gradle poderá recomendar algumas opções de linha de comando para ajudar você a resolver o problema, como --stacktrace ou --debug. Para usar opções de linha de comando com seu processo de build:

  1. Abra a caixa de diálogo Settings ou Preferences:
    • No Windows ou no Linux, selecione File > Settings na barra de menus.
    • No Mac OSX, selecione Android Studio > Preferences na barra de menus.
  2. Navegue para Build, Execution, Deployment > Compiler.
  3. No campo de texto ao lado de Command-line Options, insira suas opções de linha de comando.
  4. Clique em OK para salvar e sair.

O Gradle aplicará essas opções de linha de comando na próxima vez que você tentar criar seu app.

Apply Changes

No Android Studio 3.5 e versões mais recente, o recurso "Apply Changes" permite que você envie mudanças de código e recursos ao app em execução sem reiniciá-lo e, em alguns casos, sem reiniciar a atividade atual. Essa flexibilidade ajuda a controlar quanto do seu app é reiniciado quando você quer implantar e testar pequenas mudanças incrementais preservando o estado atual do dispositivo. "Apply Changes" usa recursos na implementação da JVMTI para Android compatíveis com dispositivos que executam o Android 8.0 (API de nível 26) ou versões mais recentes. Para saber mais sobre como a opção "Apply Changes" funciona, consulte Project Marble do Android Studio: Apply Changes (links em inglês).

Requisitos

As ações em "Apply Changes" só estarão disponíveis quando você atender às seguintes condições:

  • Criar o APK do seu app usando uma variante de build de depuração.
  • Implementar seu app em um dispositivo ou emulador de destino que execute o Android 8.0 (API de nível 26) ou versões mais recentes.

Usar o recurso "Apply Changes"

Use as opções a seguir quando quiser implantar as mudanças em um dispositivo compatível:

Apply Changes and Restart Activity Ícone de

Tenta aplicar as modificações de recurso e código reiniciando a atividade, mas sem reiniciar o app. Geralmente, é possível usar essa opção quando você modificou o código no corpo de um método ou um recurso existente.

Você também pode executar essa ação pressionando Ctrl+Alt+F10 (ou Control+Shift+Command+R no macOS).

Apply Code Changes Ícone de

Tenta aplicar somente suas modificações de código sem reiniciar nada. Geralmente, você pode usar essa opção quando tiver modificado o código no corpo de um método, mas não tiver modificado nenhum recurso. Se você tiver modificado o código e os recursos, use Apply Changes and Restart Activity.

Você também pode executar essa ação pressionando Ctrl+F10 (ou Control+Command+R no macOS).

Run Ícone de

Implanta todas as modificações e reinicia o app. Use essa opção quando as modificações não puderem ser aplicadas usando uma das opções de "Apply Changes". Para saber mais sobre os tipos de modificações que exigem a reinicialização do app, consulte Limitações de "Apply Changes".

Ativar substituto de execução para "Apply Changes"

Depois que você clicar em Apply Changes and Restart Activity ou Apply Code Changes, o Android Studio criará um novo APK e determinará se as modificações podem ser aplicadas. Se elas não puderem e fizerem com que o recurso "Apply Changes" falhe, o Android Studio pedirá que você execute Ícone de o app novamente. No entanto, se você não quiser receber um aviso sempre que isso ocorrer, poderá configurar o Android Studio para executar o app de novo automaticamente quando as modificações não puderem ser aplicadas.

Para ativar esse comportamento, siga estas etapas:

  1. Abra a caixa de diálogo Settings ou Preferences.

    • No Windows ou no Linux, selecione File > Settings na barra de menus.
    • No macOS, selecione Android Studio > Preferences na barra de menus.
  2. Navegue até Build, Execution, Deployment > Deployment.

  3. Marque as caixas de seleção para ativar o substituto de execução automático para qualquer uma das ações de "Apply Changes".

  4. Clique em OK.

Limitações de "Apply Changes"

O recurso "Apply Changes" foi criado para acelerar o processo de implantação do app. No entanto, existem algumas limitações de uso. Se você encontrar problemas durante o uso de "Apply Changes", informe um bug (link em inglês).

Modificações no código que exigem reinicialização do app

Algumas modificações de código e recurso não podem ser aplicadas até que o app seja reiniciado, incluindo o seguinte:

  • Adicionar ou excluir uma classe, um método ou um campo.
  • Modificar assinaturas de método.
  • Alterar modificadores de métodos ou classes
  • Renomear classes
  • Modificar herança da classe.
  • Modificar valores em enumerações.
  • Adicionar ou remover um recurso.
  • Modificar o manifesto do app.
  • Modificar bibliotecas nativas (arquivos do SO).

Bibliotecas e plug-ins

Alguns plug-ins e bibliotecas fazem modificações automaticamente nos arquivos de manifesto do app ou em recursos referenciados no manifesto. Essas atualizações automáticas podem interferir em "Apply Changes" das seguintes maneiras:

  • Se uma biblioteca ou um plug-in fizer modificações no manifesto do app, não será possível usar Apply Code Changes Ícone de ou Apply Changes and Restart Activity Ícone de e você terá que reiniciar o app para poder ver as modificações.
  • Se uma biblioteca ou um plug-in fizer modificações nos arquivos de recurso do app, não será possível usar Apply Code Changes Ícone de e você precisará usar Apply Changes and Restart Activity Ícone de para ver as modificações.

Você pode evitar essas limitações desativando todas as atualizações automáticas para suas variantes de build de depuração.

Por exemplo, o Crashlytics atualiza recursos de apps com um ID de build exclusivo durante cada criação, o que impede o uso de Apply Code Changes Ícone de e exige que você reinicie a atividade do app para ver as modificações. Você pode desativar esse comportamento para que possa usar Apply Code Changes junto ao Crashlytics com suas builds de depuração.

Código que faz referência direta ao conteúdo em um APK instalado

Se seu código fizer referência direta ao conteúdo do APK do app instalado no dispositivo, esse código poderá causar falhas ou comportamento indevido após clicar em Apply Code Changes Ícone de . Esse comportamento ocorre porque, quando você clica em Apply Code Changes, o APK subjacente no dispositivo é substituído durante a instalação. Nesses casos, você pode clicar em Apply Changes and Restart Activity Ícone de ou Run Ícone de .