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. No geral, a configuração criada inicialmente é suficiente para executar ou depurar um app. No entanto, você pode modificar e criar novas configurações e modificar os modelos de acordo com seu processo de desenvolvimento, conforme descrito nesta página.

Para saber mais, 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 de execução/depuração criada inicialmente

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

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) usando o 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.

O painel esquerdo da caixa de diálogo agrupa as configurações definidas por tipo de modelo e permite editar modelos de configuração na parte de baixo da tela. Você pode editar a configuração selecionada no painel à direita. Redimensione a caixa de diálogo para conferir 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 editor de código. A nova configuração precisa ser baseada em um modelo.

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

Como alternativa, com o botão direito do mouse clique em um item da janela Project para criar automaticamente uma configuração específica 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 os modelos de app Android, testes instrumentados ou JUnit (link em inglês) para criar a configuração.

No editor de código, é fácil criar uma configuração de execução/depuração e teste para uma classe ou um 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 elas comecem a ser removidas pelo Android Studio. Para mudar esse padrão, abra as configurações do Android Studio e mude Advanced Settings > Run/Debug > Temporary configurations limit. Para saber mais 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 de configuração.
  4. Digite um nome no campo Name.
  5. Modifique a configuração conforme necessário.
  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 necessário.
  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 mostrados na janela Project. A configuração é baseada em um modelo, 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 do mouse em um item testável e selecione Run filename ou Debug filename. O Android Studio cria uma configuração de execução/depuração temporária e inicia o app.
  3. Abra a lista suspensa Select Run/Debug Configuration na barra de ferramentas.
  4. Selecione Save Configuration nas opções ao lado da configuração que você quer salvar.

    Figura 2. Salvar a configuração.

Observação: se você clicar com o botão direito do mouse e executar ou depurar o mesmo item, mas não uma atividade, o Android Studio vai 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, vai poder criar e executar um teste para ela. Se o teste for bem-sucedido, você vai poder executá-lo no restante do projeto para ter certeza de que o novo código não vai causar falhas em outro local.

O Android Studio usa o modelo de testes de instrumentação ou JUnit (link em inglês), dependendo do conjunto de origem. Também é possível executar um teste de unidade local com cobertura de código (link em inglês).

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 (link em inglês), mude 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 do mouse no teste e selecione Run ou Debug.
    • No editor de código, clique com o botão direito do mouse 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. Abra a lista suspensa Select Run/Debug Configuration na barra de ferramentas.
  10. Selecione Save Configuration nas opções ao lado da configuração que você quer salvar.

    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 .

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 necessário.
  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 de configuração de execução/depuração

Você pode editar os modelos padrão disponibilizados pelo Android Studio para adaptar ao seu processo de desenvolvimento. A edição de um modelo não afeta as configurações que o utilizam. Dessa maneira, se você precisar criar diversas configurações de determinado tipo, edite o modelo e retorne 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. Clique em Edit configuration templates….
  3. Selecione um modelo de configuração.
  4. Modifique a configuração conforme necessário.
  5. Corrija todos os possíveis erros exibidos na parte inferior da caixa de diálogo.

  6. 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 OK para fechar a caixa de diálogo.

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 Folder Name.
  5. Clique em Apply para salvar o nome.
  • Arraste itens da mesma categoria de modelo para a pasta.
  • Ordene as pastas e configurações na mesma categoria de modelo arrastando para a posição certa.
  • Clique em OK para fechar a caixa de diálogo.
  • Definir operações para execução antes de inicializar

    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 vão ser executadas quando você as criar na linha de comando.

    Para criar uma lista de tarefas, siga estas etapas:

    1. Na parte de baixo da caixa de diálogo Run/Debug Configurations, clique em Add em Before launch e selecione um tipo de tarefa. Pode ser necessário rolar para baixo para encontrar as opções. Se uma caixa de diálogo for mostrada, preencha os campos e clique em OK.
    2. Adicione mais tarefas conforme a necessidade.
    3. Para ordenar as tarefas, arraste ou selecione uma delas e clique em Up e Down , movendo-a para cima ou para baixo na lista.
    4. Selecione Show this page se você quiser conferir as definições de configuração de execução/depuração antes de aplicar.

      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 (links em inglês).

      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 Editar .
    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 sua definição na caixa de diálogo Create Tools. Para saber mais, consulte Configurar ferramentas de terceiros e Ferramentas externas (links em inglês).
    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 (links em inglês).
    Make Project Compile o projeto. O Android Studio executa o comando Make Project (link em inglês).
    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 saber mais, consulte Gradle (links em inglês).
    Gradle-aware Make Compile o projeto e execute o Gradle.
    App Engine Gradle builder A tarefa "App Engine Gradle builder" sincroniza o projeto e cria o módulo.

    Modelos de configuração

    O Android Studio oferece modelos de configuração para que eles possam começar a ser usados 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 versões anteriores disponibilizavam o modelo de app nativo, que não é oferecido nas versões mais recentes. Se você tiver um modelo de aplicativo nativo em um projeto, o Android Studio o converterá automaticamente em um app para Android durante o carregamento. Uma caixa de diálogo Convert Project orientará você ao longo do processo.

    Modelos sem suporte

    Os modelos sem suporte abaixo 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 comuns de configuração

    As opções Name, Allow parallel run e Store as project file são comuns a vários modelos de configuração. Para saber mais, consulte as Configurações comuns (em inglês).

    O Android Studio armazena a configuração de execução/depuração compartilhada em arquivos XML individuais na pasta project_directory/.idea/runConfigurations/. Para mais informações, consulte Formato baseado em diretório (link em inglês) na documentação de projetos do IntelliJ.

    App Android

    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: crie e implante um APK para a variante selecionada atualmente.
    • APK from app bundle: crie e implante seu app em 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. Em seguida, nesse pacote de apps, o Android Studio gera apenas os APKs necessários para implantar o app no dispositivo conectado. Normalmente, essa opção só deve ser usada quando você está testando o pacote de apps que você pretende enviar ao Google Play, porque essa implantação prolonga o tempo total de compilação.
    • Custom Artifact: não tem suporte do Android Studio.
    • Nothing: não instalar o APK em um dispositivo. Por exemplo, se você preferir instalar manualmente o APK, o Android Studio não vai precisar fazer a instalação.
    Installation Options: Deploy as instant app Caso seu app ofereça suporte a experiências instantâneas, ou seja, se você adicionar suporte a apps instantâneos ao criar um novo projeto ou um ou mais módulos de recursos instantâneos, vai ser possível implantar esses módulos instantâneos marcando a caixa ao lado de Deploy as instant app.
    Installation Options: Features to deploy Caso seu app inclua módulos de recursos, marque a caixa ao lado de cada recurso que você quer incluir durante a implantação do app. Essa opção só vai ser exibida se o app incluir módulos de recursos.

    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 vai anexar o depurador ao processo do app.
    • Default Activity: inicie a atividade marcada como de inicialização 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 aí o nome da atividade que quer iniciar ou clique em More para selecionar uma atividade de uma lista.
    • URL: lance um URL que corresponda a um filtro de intent no manifesto do seu 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 uma intent. Exemplo:

    -W

    Essa opção não aparece quando você escolhe o valor Nothing para o campo 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 uma porta USB. Se houver mais de um, uma caixa de diálogo de seleção vai aparecer.
    • 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 aparece para que você selecione um dispositivo. Depois disso, sempre que você executar o app, ele vai ser iniciado no dispositivo selecionado, sem mostrar 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 de inicializar.

    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 é mostrada todas as vezes que um app é implantado e iniciado corretamente com essa configuração. Padrão: selecionada.
    Logcat: Clear log before launch Marque 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: desmarcada.
    Installation Options: Skip installation if APK has not changed Quando esta opção estiver selecionada, o Android Studio não vai implantar novamente o APK se detectar que não houve mudanças. Se você quiser que o Android Studio force a instalação de um APK, mesmo que ele não tenha sido modificado, 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 sem mudanças, o fechamento do app vai 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 vai 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 a 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), o fechamento forçado do app vai 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 usa 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 abaixo:

    • Java only: depura somente o código Java.
    • Detect Automatically: deixa o Android Studio escolher o melhor tipo de depuração para seu projeto.
    • Native Only: depura o código C ou C++ nativo.
    • Dual (Java + Native): depura o código Java e nativo em duas sessões separadas de depuração.

    A opção Detect Automatically é recomendada porque escolhe o tipo de depuração adequado 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 Gradle. O depurador busca nos diretórios, de cima para baixo, em ordem, 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 esteja no topo da á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ê tiver um diretório que contenha subdiretórios para diferentes Interfaces binárias Android (ABIs), vai poder optar por 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 contenham 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. 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 mudar 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 conferir 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 registros de dispositivos no local mostrado abaixo, em que 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

    Ou, se vários usuários acessarem um dispositivo, ele vai colocar os registros no local mostrado abaixo, em que 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 de inicializar.

    Guia Profiling

    A opção Enable advanced profiling precisa estar selecionada para ativar certos recursos no Android Profiler caso seu dispositivo esteja 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 é adequado para um teste de unidade local.

    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 saber mais, consulte Executar testes com o Firebase Test Lab.

    As descrições de guia a seguir referem-se às guias e aos 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 (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. Este valor modifica essa localização. O padrão é normalmente 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 AndroidJUnitRunner em AndroidX Test, vai poder usar esse campo para transmitir mais opções ao executor, como -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 uma porta USB. Se houver mais de um, uma caixa de diálogo de seleção vai aparecer.
    • 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 pela caixa de diálogo Select Deployment Target no futuro, selecione esta opção. Se o dispositivo não estiver disponível, uma caixa de diálogo vai aparecer. Padrão: não selecionado
    Before Launch Leia Definir operações para execução antes de inicializar.

    Guia Miscellaneous

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

    Campo Descrição
    Logcat: Clear log before launch Marque 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: desmarcada.
    Installation Options: Skip installation if APK has not changed Quando esta opção estiver selecionada, o Android Studio não vai implantar o APK novamente se detectar que não houve mudanças. Se você quiser que o Android Studio force a instalação de um APK, mesmo que ele não tenha sido modificado, 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 sem mudanças, o fechamento do app vai 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 vai 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 a 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), o fechamento forçado do app vai 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 de inicializar.

    Guia Debugger

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

    Para C e C++, o Android Studio usa 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 abaixo:

    • Java only: depura somente o código Java.
    • Detect Automatically: deixa o Android Studio escolher o melhor tipo de depuração para seu projeto.
    • Native Only: depura o código C ou C++ nativo.
    • Dual (Java + Native): depura o código Java e nativo em duas sessões separadas de depuração.

    A opção Detect Automatically é recomendada porque escolhe o tipo de depuração adequado 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 Gradle. O depurador busca nos diretórios, de cima para baixo, em ordem, 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 esteja no topo da á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ê tiver um diretório que contenha subdiretórios para diferentes Interfaces binárias Android (ABIs), vai poder optar por 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 contenham 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. 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 mudar 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 conferir 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 registros de dispositivos no local mostrado abaixo, em que 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

    Ou, se vários usuários acessarem um dispositivo, ele vai colocar os registros no local mostrado abaixo, em que 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 de inicializar.

    App Engine DevAppServer

    Esta configuração de execução/depuração se aplica ao Google Cloud Platform. Para saber mais, consulte Executar, testar e implantar o back-end. Se você 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 (em inglês) 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 o selecionar 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 ver opções que tenham espaços, coloque os espaços entre aspas (" ").
    • Se uma opção incluir aspas, adicione uma barra invertida antes das aspas (\").

    Para saber mais sobre as opções de VM, consulte a documentação da versão do J2SE, por exemplo, 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 exibe uma mensagem caso ela esteja disponível.
    Before Launch Leia Definir operações para execução antes de inicializar.

    Configurações de execução/depuração do Wear OS

    Os modelos de complemento, bloco e mostrador de relógio do Wear Os permitem executar ou depurar apps Wear OS em dispositivos virtuais ou de hardware. A maioria das opções de configuração de modelo é igual às Opções de apps Android. Confira as opções que são mais específicas para as configurações de execução/depuração do Wear OS:

    • Para todas as configurações de execução/depuração do Wear, é necessário selecionar uma fonte de dados, um bloco ou um mostrador de relógio específico (dependendo do modelo) para aplicar a configuração. Geralmente, cada uma dessas entidades corresponde a uma classe no código.
    • Para a configuração de execução/depuração do complemento do Wear OS, escolha o Slot em que você quer colocar os dados fornecidos pela fonte de dados. Você pode o colocar na parte de cima, da direita, de baixo, da esquerda ou em segundo plano do mostrador do relógio.
    • Para a configuração de execução/depuração do complemento do Wear OS, você também precisa selecionar o Type (tipo) dos dados fornecidos pela fonte de dados de complemento. Os tipos que você pode escolher são limitados aos fornecidos pela fonte de dados de complemento escolhida e que tem suporte do slot escolhido. Para conferir uma lista de tipos de dados de complemento, consulte Tipos e campos.

    Você também pode executar essas superfícies no ícone de gutter, localizado ao lado da declaração da superfície, conforme mostrado na imagem abaixo.

    Botão de execução no gutter ao lado de uma classe WatchFaceService.
    Figura 1. Executar uma superfície do Wear OS diretamente usando o ícone de gutter.