Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Criar e editar configurações de execução/depuração

Quando você executa, depura ou testa seu código, o Android Studio usa uma configuração de execução/depuração para saber como realizar a operação. Normalmente, a configuração padrão é suficiente para executar ou depurar um app. No entanto, é possível modificar e criar novas configurações, bem como alterar os modelos padrão de acordo com seu processo de desenvolvimento. É o que esta página descreve.

Para ver mais informações, consulte também os seguintes documentos do IntelliJ (links em inglês):

Sobre configurações de execução/depuração

As configurações de execução/depuração especificam detalhes, como opções de instalação, inicialização e teste de apps. Você pode definir uma configuração para usar uma única vez ou salvá-la para uso futuro. Depois de salvá-la, será possível selecionar a configuração na lista suspensa Select Run/Debug Configuration da barra de ferramentas. O Android Studio salva as configurações como parte do projeto.

Configuração padrão de execução/depuração

Na criação de um projeto, o Android Studio cria uma configuração padrão de execução/depuração para a atividade principal com base no modelo Android App. Para executar ou depurar o projeto, é necessário ter sempre pelo menos uma configuração de execução/depuração definida. Por esse motivo, recomendamos que você não exclua a configuração padrão.

Escopo do projeto e controle de versões

As configurações de execução/depuração e as mudanças de modelos se aplicam apenas ao projeto atual. Você pode compartilhar uma configuração de execução/depuração (mas não um modelo) por meio do sistema de controle de versões. Para saber mais sobre como compartilhar uma configuração, consulte Opções de configuração Name e Share.

Abrir a caixa de diálogo Run/Debug Configurations

Para abrir a caixa de diálogo "Run/Debug Configurations", selecione Run > Edit Configurations. A caixa de diálogo Run/Debug Configurations será exibida, conforme mostrado na figura 1.

Figura 1. Caixa de diálogo Run/Debug Configurations

No painel esquerdo, a caixa de diálogo exibe modelos padrão na pasta Defaults e agrupa suas configurações definidas pelo tipo de modelo acima da pasta Defaults. Você pode redimensionar a caixa de diálogo para ver os itens ocultos.

Nessa caixa de diálogo, você pode:

Criar uma nova configuração de execução/depuração

Você pode definir novas configurações de execução/depuração na caixa de diálogo Run/Debug Configurations, na janela Project ou no Code Editor. A nova configuração precisa ser baseada em um modelo padrão.

A caixa de diálogo "Run/Debug Configurations" exibe as configurações de execução/depuração e os modelos padrão disponíveis. Você pode iniciar uma nova configuração diretamente a partir de um modelo ou de uma cópia de outra configuração. Em seguida, você pode alterar os valores dos campos conforme necessário.

Como alternativa, clique com o botão direto em um item da janela Project para criar automaticamente uma configuração especifica para esse item. Por exemplo, se você quiser executar uma atividade específica, clique com o botão direito no arquivo Java da atividade e selecione Run. Dependendo do item, o Android Studio usa o modelo padrão Android App, Android Instrumented Tests ou Android JUnit para criar a configuração.

No Code Editor, é fácil criar uma configuração de execução/depuração e teste para uma classe ou método e executá-la.

As configurações criadas fora da caixa de diálogo Run/Debug Configurations são temporárias, a menos que sejam salvas. Por padrão, você pode ter até cinco configurações temporárias no projeto antes que o Android Studio comece a removê-las. Para alterar esse padrão, na caixa de diálogo Run/Debug Configurations clique na pasta Defaults e insira um valor no campo Temporary Configurations Limit. Para ver mais informações sobre configurações temporárias, consulte Criar e salvar configurações de execução/depuração temporárias.

Iniciar uma configuração com base em um modelo

Para definir uma configuração de execução/depuração com base em um modelo, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Clique em Add New Configuration .
  3. Selecione um modelo padrão.
  4. Digite um nome no campo Name.
  5. Modifique a configuração conforme a necessidade.
  6. Corrija todos os possíveis erros exibidos na parte inferior da caixa de diálogo.

  7. Clique em Apply ou OK.

Iniciar uma configuração a partir de uma cópia

Para definir uma configuração de execução/depuração com base na cópia de outra configuração, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Selecione uma configuração de execução/depuração existente no painel esquerdo.
  3. Clique em Copy Configuration .
  4. Digite um nome no campo Name.
  5. Modifique a configuração conforme a necessidade.
  6. Corrija todos os possíveis erros exibidos na parte inferior da caixa de diálogo.

  7. Clique em Apply ou OK.

Definir uma configuração para um item do projeto

O Android Studio pode criar automaticamente uma configuração de execução/depuração para alguns itens exibidos na janela Project. A configuração é baseada em um modelo padrão, da seguinte maneira:

Para criar uma configuração de execução/depuração para um item do projeto, siga estas etapas:

  1. Abra um projeto na visualização Android ou Project.
  2. Na janela Project, clique com o botão direito em um item testável e selecione Run nome do arquivo ou Debug nome do arquivo. O Android Studio cria uma configuração de execução/depuração temporária e inicia o app.
  3. Selecione Save na lista suspensa Select Run/Debug Configuration na barra de ferramentas. Caso não esteja vendo a barra de ferramentas, selecione View > Toolbar.

Figura 2. Salvar a configuração

Observação: se você clicar com o botão direito e executar ou depurar o mesmo item, mas não uma atividade, o Android Studio criará uma nova configuração.

Definir uma configuração de teste para uma classe ou um método

O Android Studio permite definir uma configuração de execução de teste para uma classe ou método e executá-la. Por exemplo, se você criar uma nova classe, poderá criar e executar um teste para ela. Se o teste for bem-sucedido, você poderá executá-lo no restante do projeto, para ter certeza de que o novo código não causará falhas em outro local.

O Android Studio usa o modelo Android Instrumented Tests ou Android JUnit, dependendo do seu conjunto de origem. Como alternativa, você pode executar um teste de unidade local com cobertura de código.

Para criar uma configuração de execução/depuração para uma classe ou um método no código Java, siga estas etapas:

  1. Abra um projeto na visualização Android ou Project.
  2. Abra um arquivo Java no Code Editor.
  3. Selecione uma classe ou um método no código e pressione Ctrl+Shift+T (Command+Shift+T).
  4. Selecione Create New Test no menu exibido.
  5. Na caixa de diálogo Create Test, altere ou defina os valores necessários e clique em OK.
  6. Na caixa de diálogo Choose Destination Directory, selecione o local do projeto onde você quer que o Android Studio coloque o teste. Você pode especificar o local por estrutura de diretório ou selecionando uma classe vizinha.
  7. Clique em OK.

    O novo teste é exibido na janela Project no conjunto de origem de teste correspondente.

  8. Para executar o teste, realize uma das seguintes ações:
    • Na janela Project, clique com o botão direito no teste e selecione Run ou Debug.
    • No Code Editor, clique com o botão direito em uma definição de classe ou nome de método no arquivo de teste e selecione Run ou Debug para testar todos os métodos da classe.
  9. Selecione Save na lista suspensa Select Run/Debug Configuration na barra de ferramentas.

Figura 3. Salvar a configuração

Executar ou depurar um app usando uma configuração salva

Se você salvou uma configuração de execução/depuração, pode selecioná-la antes de executar ou depurar um app.

Para usar uma configuração de execução/depuração salva, siga estas etapas:

  1. Selecione a configuração de execução/depuração na lista suspensa Select Run/Debug Configuration na barra de ferramentas.
  2. A lista suspensa fica à esquerda de Run e Debug . Por exemplo, .

  3. Selecione Run > Run ou Run > Debug.
  4. Como alternativa, clique em Run ou em Debug .

Observação: durante uma sessão do Instant Run, se você selecionar uma configuração de execução/depuração diferente e clicar em Apply Changes , a sessão atual será encerrada.

Editar uma configuração de execução/depuração

Para editar uma configuração de execução/depuração, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Selecione uma configuração no painel esquerdo.
  3. Modifique a configuração conforme a necessidade.
  4. Corrija todos os possíveis erros exibidos na parte inferior da caixa de diálogo.

  5. Clique em Apply ou OK.

Editar um modelo padrão de configuração de execução/depuração

Você pode editar os modelos padrão disponibilizados pelo Android Studio para adaptá-los ao seu processo de desenvolvimento. A edição de um modelo não afeta as configurações existentes que o utilizam. Dessa maneira, se você precisa criar diversas configurações de um determinado tipo, edite o modelo e, em seguida, altere-o novamente para a versão original quando terminar.

Embora não seja possível criar novos modelos, você pode criar configurações de uso semelhantes às de um modelo. É possível copiar uma configuração e editar a cópia para criar novas configurações.

Para editar um modelo, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Amplie a pasta Defaults e selecione um modelo padrão.
  3. Modifique a configuração conforme a necessidade.
  4. Corrija todos os possíveis erros exibidos na parte inferior da caixa de diálogo.

  5. Clique em Apply ou OK.

Classificar e agrupar configurações

Na caixa de diálogo Run/Debug Configurations, você pode organizar as configurações para encontrá-las rapidamente. É possível ordenar alfabeticamente os itens na pasta e criar novas pastas para agrupar configurações.

Para ordenar alfabeticamente as configurações, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Selecione uma pasta que contenha as configurações.
  3. Clique em Sort Configurations .
  4. Clique em Apply ou OK.

Para agrupar as configurações em pastas, siga estas etapas:

  1. Abra a caixa de diálogo Run/Debug Configurations.
  2. Selecione uma pasta que contenha as configurações.
  3. Clique em Create New Folder .
  4. Digite um nome no campo Name.
  5. Arraste itens da mesma categoria de modelo para a pasta.
  6. Ordene as pastas e configurações na mesma categoria de modelo arrastando-as para a posição adequada ou usando as opções Move Up e Move Down .
  7. Clique em Apply ou OK.

Definir operações para execução antes do início

Você pode especificar tarefas a serem executadas antes de aplicar a configuração de execução/depuração. As tarefas serão realizadas na ordem em que aparecem na lista.

Observação: a definição de tarefas para execução antes do início é um recurso avançado. Em vez de usar esse recurso, recomendamos que você coloque toda a lógica de preparação na forma de tarefas no arquivo build.gradle. Assim, elas serão executadas quando a compilação for acionada na linha de comando.

Para criar uma lista de tarefas, siga estas etapas:

  1. Na parte inferior da caixa de diálogo Run/Debug Configurations, em Before launch, clique em Add e selecione um tipo de tarefa. Se uma caixa de diálogo for exibida, preencha os campos e clique em OK.
  2. Adicione mais tarefas conforme a necessidade.
  3. Para ordenar as tarefas, selecione uma delas e clique em Up e Down para movê-la para cima ou para baixo na lista.
  4. Selecione Show this page se você quiser exibir as definições de configuração de execução/depuração antes de aplicá-las.

    Por padrão, essa opção não é selecionada.

  5. Selecione Active tool window se quiser que a janela de ferramentas Run ou Debug seja ativada quando você executar ou depurar o app.

    Por padrão, essa opção é selecionada.

Para remover uma tarefa da lista, siga estas etapas:

  1. Selecione uma tarefa.
  2. Clique em Remove .

Para editar uma tarefa, siga estas etapas:

  1. Selecione uma tarefa.
  2. Clique em Edit .
  3. Edite as configurações da tarefa na caixa de diálogo exibida e clique em OK.

A tabela a seguir lista as tarefas disponíveis para adição.

Tarefa Descrição
Run External tool Execute um aplicativo externo ao Android Studio. Na caixa de diálogo External Tools, selecione um ou mais aplicativos que você quer executar e clique em OK. Se o aplicativo ainda não estiver definido no Android Studio, adicione a definição na caixa de diálogo Create Tools. Para ver mais informações, consulte Configurar ferramentas de terceiros e Ferramentas externas.
Run Another Configuration Execute uma das configurações de execução/depuração existentes. Na caixa de diálogo Choose Configuration to Execute, selecione uma configuração a ser executada e clique em OK.
Make Compile o projeto ou módulo. Se a configuração de execução/depuração especificar um módulo específico, o Android Studio executará o comando Make Module, caso contrário, ele executará o comando Make Project.
Make Project Compile o projeto. O Android Studio executa o comando Make Project.
Make, no error check Opção semelhante a Make, com a exceção de que o Android Studio executa a configuração de execução/depuração, independentemente do resultado da compilação.
Build Artifacts Incompatível com o Android Studio.
Run Gradle task Execute uma tarefa do Gradle. Na caixa de diálogo exibida, especifique os detalhes e clique em OK. Para ver mais informações, consulte Gradle.
Gradle-aware Make Compile o projeto e execute o Gradle.
App Engine Gradle builder A tarefa "App Engine Gradle builder" sincroniza o projeto e compila o módulo.

Modelos padrão de configuração de execução/depuração

O Android Studio oferece modelos de configuração padrão para que você consiga começar a usá-lo rapidamente. As seções a seguir descrevem os modelos aplicáveis ao desenvolvimento do Android com o Android Studio:

Observação: o Android Studio 2.1.x e anteriores disponibilizavam o modelo Native Application, que não é oferecido nas versões mais recentes. Se você tiver um modelo Native Application em um projeto, o Android Studio o converterá automaticamente para Android App durante o carregamento. Uma caixa de diálogo Convert Project orientará você ao longo do processo.

Modelos incompatíveis

Os modelos incompatíveis a seguir são do IntelliJ IDEA e não são específicos para o desenvolvimento em Android com o Android Studio. Para ver mais informações sobre como usar esses modelos, siga os links (em inglês) para a documentação do IntelliJ IDEA.

Opções de configuração Name e Share

As opções Name e Share se aplicam apenas a configurações. Ao criar uma configuração, atribua um nome a ela e, se quiser compartilhá-la, marque a caixa de seleção Share. Não é possível nomear e compartilhar modelos.

Use a caixa de seleção Share para disponibilizar a configuração de execução/depuração para outros membros da equipe por meio do controle de versões. Se você selecionar essa opção, quando o projeto passar por check-in em um sistema de controle de versões, a configuração de execução/depuração será incluída no check-out do projeto.

O Android Studio armazena a configuração de execução/depuração compartilhada em arquivos XML individuais na pasta project_directory/.idea/runConfigurations/. Para ver mais informações, consulte Formato de projeto com base em diretório.

Android App

Você pode executar ou depurar apps e atividades do Android em dispositivos virtuais e de hardware usando configurações baseadas nesse modelo.

Guia General

Na guia General, você pode especificar opções de instalação, inicialização e implantação. A guia Miscellaneous também contém opções de instalação.

Campo Descrição
Module Selecione o módulo que receberá esta configuração.
Installation Options: Deploy

Selecione uma opção:

  • Default APK: compile e implante um APK para sua variação selecionada.
  • APK from app bundle: compile e implante seu app a partir de um Android App Bundle. Ou seja, o Android Studio primeiro converte o projeto do seu app em um pacote que inclui todo o código compilado e os recursos do app. Depois disso, a partir desse pacote de apps, ele gera apenas os APKs necessários para implantar seu app no dispositivo conectado. Normalmente, essa função só é usada quando você está testando o pacote de apps que pretende enviar para o Google Play. Isso acontece porque a implantação de um pacote de apps tem as seguintes limitações a serem consideradas:
    • O Instant Run não funciona em implantações a partir de um pacote de apps.
    • O sistema do Android Studio precisa compilar um pacote de apps antes de usá-lo para compilar os APKs que serão implantados no seu app. Isso aumenta o tempo total de compilação durante a implantação do app.
  • Custom Artifact: incompatível com o Android Studio.
  • Nothing: não instalar um APK em um dispositivo. Por exemplo, se você preferir instalar manualmente o APK, o Android Studio não precisará fazer a instalação.
Installation Options: Deploy as instant app Se seu app é compatível com experiências instantâneas, ou seja, se você adiciona compatibilidade com apps instantâneos ao criar um novo projeto ou cria um ou mais recursos dinâmicos instantâneos, é possível optar por implantar esses módulos instantâneos marcando a caixa ao lado de Deploy as instant app.
Installation Options: Dynamic features to deploy Se seu app inclui módulos de recursos dinâmicos, marque a caixa ao lado de cada recurso que você quer incluir durante a implantação do app. Essa opção só é exibida quando o app inclui recursos dinâmicos.

Observação: para testar o download e a instalação de módulos de recursos dinâmicos sob demanda, antes é preciso publicar seu pacote de apps e usar a faixa de testes internos do Play Console. Para saber mais, consulte Fazer upload do pacote de apps para o Play Console.

Installation Options: Install Flags Digite as opções pm install do adb que você quer usar. Formate as opções da mesma forma que na linha de comando, mas sem um caminho. Veja alguns exemplos:

-i foo.bar.baz -r /path/to/apk

e

-d -r

Padrão: sem opções.

Launch Options: Launch

Selecione uma opção:

  • Nothing: não inicie nada ao selecionar "Run" ou "Debug". No entanto, se o app já estiver em execução e você selecionar "Debug", o Android Studio anexará o depurador ao processo do app.
  • Default Activity: inicie a atividade marcada como "startup" no manifesto. Por exemplo:
    
        <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        
  • Specified Activity: inicie uma determinada atividade do app no módulo. Quando selecionado, o campo Activity aparece abaixo. Insira o nome da atividade que quer iniciar ou clique em More para selecionar uma atividade de uma lista.
  • URL: inicie um URL que corresponde ao filtro de intent no manifesto do app. Quando selecionado, o campo URL aparece abaixo, onde você pode inserir o URL.

    Preencha esse campo para iniciar um Instant App Android. Você também pode usar essa opção para testar seus links de apps para Android.

Launch Options: Launch Flags Digite as opções am start do adb que você quer usar. Formate as opções da mesma forma que na linha de comando, mas sem um intent. Por exemplo:

-W

Essa opção não é exibida quando você escolhe o valor Nothing para Launch.

Padrão: sem opções.

Deployment Target Options: Target

Selecione uma opção:

  • Open Select Deployment Target Dialog: abra a caixa de diálogo Select Deployment Target para selecionar um dispositivo virtual ou de hardware.
  • USB Device: use um dispositivo de hardware conectado ao computador de desenvolvimento por meio de uma porta USB. Se houver mais de um, será exibida uma caixa de diálogo para seleção.
  • Emulator: use um dispositivo virtual. Em uma configuração, você pode selecionar um AVD. Caso contrário, o primeiro AVD da lista será usado.

Deployment Target Options: Use same device for future launches

Por padrão, esta opção é desmarcada. Assim, a caixa de diálogo Select Deployment será exibida para selecionar um dispositivo sempre que você executar um app. Quando você seleciona esta opção e executa um app, a caixa de diálogo Select Deployment é exibida para que você selecione um dispositivo. Depois disso, sempre que você executar o app, ele será iniciado no dispositivo selecionado, sem exibir a caixa de diálogo Select Deployment. Para executar o app em outro dispositivo, desmarque Use same device for future launches ou interrompa o app com Run > Stop app ou Stop e inicie-o novamente. A caixa de diálogo Select Deployment será exibida para que você selecione um dispositivo.
Before Launch Leia Definir operações para execução antes do início.

Guia Miscellaneous

Na guia Miscellaneous, você pode especificar opções de logcat, instalação, inicialização e implantação. A guia General também contém opções de instalação.

Campo Descrição
Logcat: Show logcat automatically Quando esta opção é selecionada, a janela Logcat é exibida todas as vezes que um app é implantado e iniciado corretamente com essa configuração. Padrão: selecionada.
Logcat: Clear log before launch Selecione esta opção se quiser que o Android Studio remova dados de sessões anteriores do arquivo de registros antes de iniciar o app. Padrão: não selecionada.
Installation Options: Skip installation if APK has not changed Quando esta opção estiver selecionada, o Android Studio não implantará novamente o APK se detectar que não houve alterações. Se você quer que o Android Studio force a instalação de um APK, mesmo que ele não tenha sido alterado, desmarque essa opção. Padrão: selecionada
Installation Options: Force stop running application before launching activity

Se esta opção estiver selecionada, quando o Android Studio detectar que não é necessário reinstalar um APK inalterado, o fechamento do app será forçado. Em seguida, o app será iniciado com a atividade padrão de início. Se essa opção não for selecionada, o Android Studio não forçará o fechamento do app.

Esta opção funciona em conjunto com a opção anterior, que controla se um APK é instalado ou não. Nos dois campos Installation Options, mantenha os valores padrão, a menos que você queira explicitamente forçar uma instalação todas as vezes.

Em alguns casos, pode ser necessário cancelar a seleção dessa opção. Por exemplo, se você estiver programando um mecanismo de método de entrada (IME, na sigla em inglês), o fechamento forçado do app cancelará a seleção dele como teclado atual, o que pode causar problemas.

Padrão: selecionada

Before Launch Leia Definir operações para execução antes do início.

Guia Debugger

Defina opções de depuração na guia Debugger.

Para C e C++, o Android Studio utiliza o depurador LLDB. Além da IU convencional do Android Studio, a janela do depurador traz a guia LLDB, que permite inserir comandos do LLDB durante a depuração. Você pode inserir os mesmos comandos que o Android Studio usa para exibir informações na IU do depurador, além de realizar outras operações.

Para projetos em C e C++, é possível adicionar diretórios de símbolos, bem como inicialização do LLDB e comandos de pós-vinculação na guia Debugger. Para fazer isso, use botões semelhantes aos seguintes:

  • Add : adicione um diretório ou comando.
  • Remove : selecione um diretório ou comando e clique neste botão para remover o item.
  • Up : selecione um diretório ou comando e clique neste botão para mover o item para cima na lista.
  • Down : selecione um diretório ou comando e clique neste botão para mover o item para baixo na lista.

Consulte Depurar seu app para saber mais sobre como realizar depurações no Android Studio.

Campo Descrição
Debug type

Selecione uma das opções a seguir:

  • Java: depura somente código Java.
  • Auto: permite que o Android Studio escolha o tipo de depuração mais indicado para seu projeto.
  • Native: depura código C ou C++ nativo.
  • Dual: depura código Java e nativo em duas sessões separadas de depuração.

A opção Auto é recomendada porque escolhe o tipo de depuração certo para seu projeto.

Symbol Directories

Se quiser adicionar arquivos de símbolos para que o depurador tenha informações em C ou C++ geradas fora do Android Studio, adicione um ou mais diretórios aqui. Preferencialmente, o Android Studio usa os arquivos desses diretórios em vez dos arquivos gerados pelo plug-in do Android para o Gradle. O depurador busca nos diretórios, de cima para baixo, até achar o que precisa. A busca é recursiva pelos arquivos do diretório. Para otimizar a lista e acelerar o processo, coloque os diretórios mais usados no topo da lista.

Se você especificar um diretório que está em posição alta na árvore, poderá demorar muito para fazer a busca em todos os subdiretórios. Se você adicionar um diretório muito específico, o tempo da busca será menor. É preciso encontrar o equilíbrio perfeito entre velocidade e a localização dos arquivos necessários para a depuração. Por exemplo, se você tem um diretório que contém subdiretórios para diferentes Interfaces binárias Android (ABIs, na sigla em inglês), pode escolher entre adicionar um diretório para uma ABI específica ou para todas as ABIs. Embora a busca nos diretórios de nível superior possa levar mais tempo, essa é uma abordagem mais segura caso você decida depurar em um dispositivo diferente.

Não é necessário adicionar diretórios que contêm arquivos de símbolos do Gradle, uma vez que o depurador os utiliza automaticamente.

LLDB Startup Commands

Adicione os comandos do LLDB que você quer executar antes de o depurador ser vinculado ao processo. Por exemplo, você pode definir configurações para o ambiente, como demonstrado no comando a seguir:

settings set target.max-memory-read-size 2048

O LLDB executa os comandos de cima para baixo.

LLDB Post Attach Commands

Adicione os comandos do LLDB que você quer executar logo depois de o depurador ser vinculado ao processo. Por exemplo:

process handle SIGPIPE -n true -p true -s false

O LLDB executa os comandos de cima para baixo.

Host working directory Especifique o diretório de trabalho do LLDB.
Logging: Target channels

Especifique opções de registro do LLDB. O Android Studio define as opções padrão com base na experiência da equipe. Assim, ele não fica tão lento, mas contém informações necessárias para solucionar problemas. Normalmente, o registro é necessário para relatórios de bug do Android Studio. O padrão é:

lldb process:gdb-remote packets

Você pode alterar o padrão para coletar mais informações. Por exemplo, as opções de registro a seguir coletam informações sobre uma platform específica:

lldb process platform:gdb-remote packets

Para ver uma lista completa de comandos de registro, digite o comando log list em uma janela de shell do LLDB no Android Studio.

O Android Studio coloca os registros do dispositivo no seguinte local, onde ApplicationId é o ID exclusivo do aplicativo usado no manifesto do APK compilado e identifica seu app no dispositivo e na Google Play Store.

/data/data/ApplicationId/lldb/log

Se diversos usuários acessam um dispositivo, ele coloca os registros no seguinte local, onde AndroidUserId é um identificador exclusivo de um usuário no dispositivo:

/data/user/AndroidUserId/ApplicationId/lldb/log

Para saber mais sobre como usar o LLDB para depuração remota, consulte Depuração remota.

Before Launch Leia Definir operações para execução antes do início.

Guia Profiling

A opção Enable advanced profiling precisa estar selecionada para ativar certos recursos no Android Profiler se seu dispositivo está executando o Android 7.1 ou uma versão anterior.

Android Tests

O modelo de teste que você precisa usar depende do conjunto de origem. O modelo Android Instrumented Tests é adequado para testes de instrumentação. O modelo Android JUnit é indicado para testes de unidade locais.

Observação: se você usar o Firebase Test Lab para testes em diversos dispositivos, poderá usar o modelo Android JUnit para definir os testes de instrumentação. Para ver mais informações, consulte Executar testes com o Firebase Test Lab.

As descrições de guia a seguir referem-se às guias e os campos do modelo Android Instrumented Tests. Para saber mais sobre guias e campos do modelo de testes Android JUnit, consulte a página do IntelliJ Configuração de execução/depuração: JUnit (link em inglês).

Guia General

Na guia General, você pode especificar a localização do teste, o executor da instrumentação, o shell do adb e as opções de implantação.

Campo Descrição
Module Selecione o módulo que receberá esta configuração.
Test

Nesta área, especifique o local dos testes que você quer executar:

  • All in module: inicie todos os testes no módulo selecionado.
  • All in package: inicie todos os testes no pacote especificado no campo Package. Digite o nome ou clique em More para selecionar o pacote em uma caixa de diálogo.
  • Class: inicie testes da classe especificada no campo Class. Digite o nome ou clique em More para selecionar a classe em uma caixa de diálogo.
  • Method: inicie um método de teste. No campo Class, especifique a classe que contém o método. No campo Method, especifique o método. Digite o nome ou clique em More para selecionar a classe ou o método em uma caixa de diálogo.
Specific instrumentation runner (opcional) Digite a localização do executor de instrumentação. Clique em More para usar uma caixa de diálogo. O arquivo build.gradle especifica a localização do executor de instrumentação. Esse valor modifica a localização. O padrão é geralmente a classe AndroidJUnitRunner do AndroidX Test.
Extra options

Digite as opções am instrument do adb que você quer usar. Não digite o componente. Por exemplo, se você estiver usando o AndroidJUnitRunner do AndroidX Test, poderá usar esse campo para passar outras opções para o executor, por exemplo, -e size small.

Padrão: sem opções

Deployment Target Options: Target

Selecione uma opção:

  • Open Select Deployment Target Dialog: abra a caixa de diálogo Select Deployment Target para selecionar um dispositivo virtual ou de hardware.
  • USB Device: use um dispositivo de hardware conectado ao computador de desenvolvimento por meio de uma porta USB. Se houver mais de um, será exibida uma caixa de diálogo para seleção.
  • Emulator: use um dispositivo virtual. Em uma configuração, você pode selecionar um AVD. Caso contrário, o primeiro AVD da lista será usado.
  • Firebase Test Lab Device Matrix: consulte Executar testes com o Firebase Test Lab.
Deployment Target Options: Use same device for future launches Se você quer usar automaticamente o dispositivo escolhido por meio da caixa de diálogo Select Deployment Target no futuro, selecione esta opção. Se o dispositivo não estiver disponível, será exibida uma caixa de diálogo. Padrão: não selecionada.
Before Launch Leia Definir operações para execução antes do início.

Guia Miscellaneous

A guia Miscellaneous contém opções do logcat e da instalação.

Campo Descrição
Logcat: Clear log before launch Selecione esta opção se quiser que o Android Studio remova dados de sessões anteriores do arquivo de registros antes de iniciar o app. Padrão: não selecionada.
Installation Options: Skip installation if APK has not changed Quando esta opção estiver selecionada, o Android Studio não implantará novamente o APK se detectar que não houve alterações. Se você quiser que o Android Studio force a instalação de um APK, mesmo que ele não tenha sido alterado, desmarque essa opção. Padrão: selecionada
Installation Options: Force stop running application before launching activity

Se esta opção estiver selecionada, quando o Android Studio detectar que não é necessário reinstalar um APK inalterado, o fechamento do app será forçado. Em seguida, o app será iniciado com a atividade padrão de início. Se essa opção não for selecionada, o Android Studio não forçará o fechamento do app.

Esta opção funciona em conjunto com a opção anterior, que controla se um APK é instalado ou não. Nos dois campos Installation Options, mantenha os valores padrão, a menos que você queira explicitamente forçar uma instalação todas as vezes.

Em alguns casos, pode ser necessário cancelar a seleção dessa opção. Por exemplo, se você estiver programando um mecanismo de método de entrada (IME, na sigla em inglês), o fechamento forçado do app cancelará a seleção dele como teclado atual, o que pode causar problemas.

Padrão: selecionada

Before Launch Leia Definir operações para execução antes do início.

Guia Debugger

Defina opções de depuração na guia Debugger.

Para C e C++, o Android Studio utiliza o depurador LLDB. Além da IU convencional do Android Studio, a janela do depurador traz a guia LLDB, que permite inserir comandos do LLDB durante a depuração. Você pode inserir os mesmos comandos que o Android Studio usa para exibir informações na IU do depurador, além de realizar outras operações.

Para projetos em C e C++, é possível adicionar diretórios de símbolos, bem como inicialização do LLDB e comandos de pós-vinculação na guia Debugger. Para fazer isso, use botões semelhantes aos seguintes:

  • Add : adicione um diretório ou comando.
  • Remove : selecione um diretório ou comando e clique neste botão para remover o item.
  • Up : selecione um diretório ou comando e clique neste botão para mover o item para cima na lista.
  • Down : selecione um diretório ou comando e clique neste botão para mover o item para baixo na lista.

Consulte Depurar seu app para saber mais sobre como realizar depurações no Android Studio.

Campo Descrição
Debug type

Selecione uma das opções a seguir:

  • Java: depura somente código Java.
  • Auto: permite que o Android Studio escolha o tipo de depuração mais indicado para seu projeto.
  • Native: depura código C ou C++ nativo.
  • Dual: depura código Java e nativo em duas sessões separadas de depuração.

A opção Auto é recomendada porque escolhe o tipo de depuração certo para seu projeto.

Symbol Directories

Se quiser adicionar arquivos de símbolos para que o depurador tenha informações em C ou C++ geradas fora do Android Studio, adicione um ou mais diretórios aqui. Preferencialmente, o Android Studio usa os arquivos desses diretórios em vez dos arquivos gerados pelo plug-in do Android para o Gradle. O depurador busca nos diretórios, de cima para baixo, até achar o que precisa. A busca é recursiva pelos arquivos do diretório. Para otimizar a lista e acelerar o processo, coloque os diretórios mais usados no topo da lista.

Se você especificar um diretório que está em posição alta na árvore, poderá demorar muito para fazer a busca em todos os subdiretórios. Se você adicionar um diretório muito específico, o tempo da busca será menor. É preciso encontrar o equilíbrio perfeito entre velocidade e a localização dos arquivos necessários para a depuração. Por exemplo, se você tem um diretório que contém subdiretórios para diferentes Interfaces binárias Android (ABIs, na sigla em inglês), pode escolher entre adicionar um diretório para uma ABI específica ou para todas as ABIs. Embora a busca nos diretórios de nível superior possa levar mais tempo, essa é uma abordagem mais segura caso você decida depurar em um dispositivo diferente.

Não é necessário adicionar diretórios que contêm arquivos de símbolos do Gradle, uma vez que o depurador os utiliza automaticamente.

LLDB Startup Commands

Adicione os comandos do LLDB que você quer executar antes de o depurador ser vinculado ao processo. Por exemplo, você pode definir configurações para o ambiente, como demonstrado no comando a seguir:

settings set target.max-memory-read-size 2048

O LLDB executa os comandos de cima para baixo.

LLDB Post Attach Commands

Adicione os comandos do LLDB que você quer executar logo depois de o depurador ser vinculado ao processo. Por exemplo:

process handle SIGPIPE -n true -p true -s false

O LLDB executa os comandos de cima para baixo.

Host working directory Especifique o diretório de trabalho do LLDB.
Logging: Target channels

Especifique opções de registro do LLDB. O Android Studio define as opções padrão com base na experiência da equipe. Assim, ele não fica tão lento, mas contém informações necessárias para solucionar problemas. Normalmente, o registro é necessário para relatórios de bug do Android Studio. O padrão é:

lldb process:gdb-remote packets

Você pode alterar o padrão para coletar mais informações. Por exemplo, as opções de registro a seguir coletam informações sobre uma platform específica:

lldb process platform:gdb-remote packets

Para ver uma lista completa de comandos de registro, digite o comando log list em uma janela de shell do LLDB no Android Studio.

O Android Studio coloca os registros do dispositivo no seguinte local, onde ApplicationId é o ID exclusivo do aplicativo usado no manifesto do APK compilado e identifica seu app no dispositivo e na Google Play Store.

/data/data/ApplicationId/lldb/log

Se diversos usuários acessam um dispositivo, ele coloca os registros no seguinte local, onde AndroidUserId é um identificador exclusivo de um usuário no dispositivo:

/data/user/AndroidUserId/ApplicationId/lldb/log

Para saber mais sobre como usar o LLDB para depuração remota, consulte Depuração remota.

Before Launch Leia Definir operações para execução antes do início.

App Engine DevAppServer

Esta configuração de execução/depuração se aplica ao Google Cloud Platform. Para ver mais informações, consulte Executar, testar e implantar o back-end. Se seguir essas etapas e sincronizar o projeto com o arquivo build.gradle, o Android Studio criará uma configuração do App Engine DevAppServer para você.

O modelo App Engine Server do IntellJ IDEA é diferente e não está disponível no Android Studio.

Campo Descrição
Single instance only Se você quer garantir que apenas uma instância da configuração de execução/depuração seja executada no momento, selecione esta opção. Ela não permite várias execuções da mesma configuração ao mesmo tempo. Padrão: selecionada
Module Selecione o módulo que receberá esta configuração.
Synchronize with build.gradle configuration Se você adicionar um módulo do App Engine e sincronizá-lo com o arquivo build.gradle, os campos de configuração do App Engine DevAppServer serão preenchidos para você (recomendado). A seleção File > Sync Project with Gradle Files também sincroniza o projeto. Padrão: selecionada
App Engine SDK Digite um caminho para um Google App Engine SDK para Java na máquina local. Clique em para selecioná-lo em uma caixa de diálogo.
War Path Digite um caminho para o diretório do arquivo do aplicativo da Web (WAR, na sigla em inglês) do app que você está implantando no servidor de desenvolvimento local. Clique em para selecioná-lo em uma caixa de diálogo.
VM Args

Especifique as opções de linha de comando que você quer passar para a VM para iniciar o DevAppServer. Siga estas orientações:

  • Use espaços para separar as diferentes opções.
  • Para opções que têm espaços, coloque-os entre aspas (" ").
  • Se uma opção incluir aspas, adicione uma barra invertida antes das aspas (\").

Para ver mais informações sobre as opções de VM, consulte a documentação da versão do J2SE, como java JDK 7 e java JDK 8.

Padrão: sem opções

Server Address Digite o endereço do host a ser usado para o servidor. Pode ser necessário informar o endereço para acessar o servidor de desenvolvimento a partir de outro computador da rede. O endereço 0.0.0.0 permite acesso ao localhost e ao nome do host. Padrão: localhost
Server Port Digite o número da porta a ser usada para o servidor. Padrão: 8080.
Disable Check for App Engine SDK Updates Se informado, o servidor de desenvolvimento não entrará em contato com o App Engine para verificar a disponibilidade de um lançamento do SDK. Por padrão, o servidor verifica na inicialização se há uma nova versão e imprime uma mensagem caso ela esteja disponível.
Before Launch Leia Definir operações para execução antes do início.