Melhorar seu código com verificações de lint

Além de criar testes para garantir que o app atenda aos requisitos funcionais, é importante executar o código com a ferramenta lint para garantir que não haja problemas estruturais. A ferramenta lint ajuda a encontrar códigos com estrutura ineficiente que podem afetar a confiabilidade e eficiência dos seus apps Android e dificultar a manutenção do código. É altamente recomendável corrigir todos os erros detectados pelo lint antes de publicar o app.

Por exemplo, arquivos de recursos XML com namespaces não utilizados ocupam espaço e exigem processamento desnecessário. Outros problemas estruturais, como o uso de elementos descontinuados ou chamadas de API sem suporte nas versões visadas da API, podem causar falhas na execução do código. O lint pode ajudar você a acabar com esses problemas.

Para melhorar o desempenho do lint, também é possível adicionar anotações ao código.

Informações gerais

O Android Studio oferece uma ferramenta de verificação de código chamada lint, que pode ajudar a identificar e corrigir problemas com a qualidade estrutural do código, sem precisar executar o app ou criar casos de teste. Cada problema detectado pela ferramenta é informado com uma mensagem descritiva e um nível de gravidade para que você possa priorizar as melhorias críticas que precisam ser feitas. Também é possível reduzir o nível de gravidade de um problema para ignorar aqueles que não são relevantes para o projeto ou aumentar o nível de gravidade para destacar problemas específicos.

A ferramenta lint verifica os arquivos de origem do projeto Android para encontrar possíveis bugs e melhorias nos critérios de precisão, segurança, desempenho, usabilidade, acessibilidade e internacionalização. Ao usar o Android Studio, as inspeções configuradas de lint e o ambiente de desenvolvimento integrado são executadas quando você cria seu app. No entanto, você pode executar inspeções manualmente ou executar o lint na linha de comando, conforme descrito nesta página.

A ferramenta incorporada lint verifica o código enquanto você usa o Android Studio. Os avisos e erros podem ser mostrados de duas formas:

  • Como texto em uma janela pop-up na janela do editor. Quando o lint encontra um problema, ele destaca o código problemático em amarelo. Para problemas mais graves, ele sublinha o código em vermelho.
  • Na janela Inspection Results do lint, quando você clica em Code > Inspect Code.

Observação:quando o código é compilado no Android Studio, outras inspeções de código do IntelliJ são executadas para otimizar a revisão do código.

A Figura 1 mostra como a ferramenta lint processa arquivos de origem do app.

Fluxo de trabalho da verificação de código com a ferramenta lint.
Figura 1. Fluxo de trabalho de verificação de código com a ferramenta lint.
Arquivos de origem do app
Os arquivos de origem consistem nos arquivos que compõem o projeto Android, incluindo arquivos Kotlin, Java e XML, ícones e arquivos de configuração do ProGuard.
O arquivo lint.xml
Um arquivo de configuração usado para especificar todas as verificações do lint que você quer excluir e para personalizar os níveis de gravidade dos problemas.
Ferramenta lint
Uma ferramenta de verificação de código estático que pode ser executada no projeto Android na linha de comando ou no Android Studio. A ferramenta lint verifica problemas estruturais no código que podem afetar a qualidade e o desempenho de um app Android.
Resultados da verificação do lint
Os resultados do lint podem ser vistos no console ou na janela Inspection Results do Android Studio. Se você executar lint na linha de comando, os resultados serão gravados na pasta build/. Para mais detalhes, consulte a seção sobre como executar inspeções manualmente.

Executar o lint na linha de comando

Se você estiver usando o Android Studio ou o Gradle, use o wrapper do Gradle para invocar a tarefa lint do seu projeto inserindo um dos seguintes comandos no diretório raiz do seu projeto:

  • No Windows:
    gradlew lint
    
  • No Linux ou no macOS:
    ./gradlew lint
    

O resultado será semelhante ao seguinte:

> Task :app:lintDebug
Wrote HTML report to file:<path-to-project>/app/build/reports/lint-results-debug.html

Quando a ferramenta lint conclui a verificação, ela informa caminhos para as versões XML e HTML do relatório. Você pode navegar até o relatório em HTML e abri-lo no navegador, conforme mostrado na Figura 2.

Exemplo de relatório do lint em HTML.
Figura 2. Exemplo de relatório do lint em HTML.

Se o projeto incluir variantes de build, o lint vai verificar apenas a variante padrão. Caso você queira executar o lint em uma variante diferente, coloque o nome da variante em maiúscula e acrescente o prefixo lint.

./gradlew lintRelease

Para saber mais sobre como executar tarefas do Gradle na linha de comando, leia Criar seu app na linha de comando.

Executar o lint com a ferramenta autônoma

Se você não está usando o Android Studio ou o Gradle, instale as ferramentas de linha de comando do SDK do Android para usar a ferramenta independente lint. Localize a ferramenta lint em android_sdk/cmdline-tools/version/bin/lint.

Observação:se você tentar executar a ferramenta autônoma em um projeto do Gradle, ocorrerá um erro. Use sempre gradle lint (no Windows) ou ./gradlew lint (no macOS ou Linux) para executar o lint em um projeto do Gradle.

Para executar o lint com uma lista de arquivos em um diretório de projeto, use este comando:

lint [flags] <project directory>

Por exemplo, você pode emitir o comando abaixo para verificar os arquivos no diretório myproject e nos subdiretórios. O ID de problema MissingPrefix instrui o lint a verificar apenas a existência de atributos XML sem o prefixo de namespace Android.

lint --check MissingPrefix myproject 

Para conferir a lista completa de sinalizações e argumentos da linha de comando compatíveis com a ferramenta, use este comando:

lint --help

O exemplo a seguir mostra a saída do console quando o comando do lint é executado em um projeto chamado Earthquake:

$ lint Earthquake

Scanning Earthquake: ...............................................................................................................................
Scanning Earthquake (Phase 2): .......
AndroidManifest.xml:23: Warning: <uses-sdk> tag appears after <application> tag [ManifestOrder]
  <uses-sdk android:minSdkVersion="7" />
  ^
AndroidManifest.xml:23: Warning: <uses-sdk> tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]
  <uses-sdk android:minSdkVersion="7" />
  ^
res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]
res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]
0 errors, 4 warnings

O exemplo de saída lista quatro avisos e nenhum erro.

Dois avisos estão relacionados ao arquivo AndroidManifest.xml do projeto:

  • ManifestOrder
  • UsesMinSdkAttributes
Um aviso está relacionado ao arquivo de layout Preferences.xml: UnusedResources.

Um aviso está relacionado ao diretório res: IconMissingDensityFolder.

Configurar o lint para suprimir alertas

Por padrão, quando você executa uma verificação do lint, a ferramenta procura todos os problemas compatíveis com ele. Também é possível restringir os problemas a serem verificados pelo lint e atribuir níveis de gravidade a eles. Por exemplo, é possível suprimir a verificação do lint para problemas específicos que não são relevantes para o projeto e configurar o lint para relatar problemas não críticos com um nível mais baixo de gravidade.

Os níveis de gravidade são:

  • enable
  • disable ou ignore
  • informational
  • warning
  • error
  • fatal

A verificação do lint pode ser configurada para níveis diferentes:

  • Globalmente (todo o projeto)
  • Módulo do projeto
  • Módulo de produção
  • Módulo de teste
  • Arquivos abertos
  • Hierarquia de classe
  • Escopos do sistema de controle de versões (VCS, na sigla em inglês)

Configurar o arquivo do lint

Especifique as preferências de verificação do lint no arquivo lint.xml. Se você estiver criando esse arquivo manualmente, coloque-o no diretório raiz do projeto Android.

O arquivo lint.xml consiste em uma tag pai <lint> que abrange um ou mais elementos <issue> filhos. O lint define um valor de atributo id exclusivo para cada <issue>:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- list of issues to configure -->
</lint>

Para alterar o nível de gravidade ou desativar a verificação do lint, defina o atributo de gravidade na tag <issue>.

Dica: para receber uma lista completa dos problemas detectados pelo lint e seus IDs correspondentes, execute o comando lint --list.

Exemplo de arquivo lint.xml

O exemplo a seguir mostra o conteúdo de um arquivo lint.xml:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the IconMissingDensityFolder check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the specified files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the specified file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>

    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" />
</lint>

Este exemplo mostra como diferentes tipos de problema são informados. A verificação IconMissingDensityFolder será totalmente desativada, e a verificação ObsoleteLayoutParam será desativada apenas nos arquivos especificados nas declarações <ignore ... /> incluídas.

Configurar a verificação do lint para arquivos de origem Kotlin, Java e XML

Você pode desativar a verificação do lint para arquivos de origem Kotlin, Java e XML na caixa de diálogo Preferences:

  1. Selecione File > Settings (no Windows) ou Android Studio > Preferences (no macOS ou Linux).
  2. Selecione Editor > Inspections.
  3. Para desativar, desmarque o arquivo de origem apropriado.

Você pode defini-las para o ambiente de desenvolvimento integrado ou para projetos individuais selecionando o perfil adequado.

Configurar a verificação do lint em Java ou Kotlin

Para desativar a verificação do lint para uma classe ou um método específico do seu projeto Android, adicione a anotação @SuppressLint ao código.

O exemplo a seguir mostra como desativar a verificação do lint para o problema NewApi no método onCreate. A ferramenta lint continuará verificando a existência do problema NewApi em outros métodos dessa classe.

Kotlin

@SuppressLint("NewApi")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main)

Java

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

O mesmo pode ser feito em qualquer elemento combinável. O snippet de código abaixo mostra como desativar as verificações de NewApi em qualquer elemento combinável.

Kotlin

  @SuppressLint("NewApi")
  @Composable
  fun MyComposable{
    ...
  }
  

O exemplo a seguir mostra como desativar a verificação do lint para o problema ParserError na classe FeedProvider:

Kotlin

@SuppressLint("ParserError")
class FeedProvider : ContentProvider() {

Java

@SuppressLint("ParserError")
public class FeedProvider extends ContentProvider {

Para suprimir a verificação de todos os problemas do lint no arquivo, use a palavra-chave all:

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Você pode usar a mesma anotação para suprimir verificações de lint em qualquer função combinável.

Configurar a verificação do lint em XML

Use o atributo tools:ignore para desativar a verificação do lint para seções específicas de arquivos XML. Coloque o valor de namespace a seguir no arquivo lint.xml para que a ferramenta lint reconheça o atributo:

namespace xmlns:tools="http://schemas.android.com/tools"

O exemplo abaixo mostra como desativar a verificação do lint para o problema UnusedResources em um elemento <LinearLayout> de um arquivo de layout XML. O atributo ignore é herdado pelos elementos filhos do elemento pai em que o atributo é declarado. Neste exemplo, a verificação do lint também é desativada para o elemento filho <TextView>:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="UnusedResources" >

    <TextView
        android:text="@string/auto_update_prompt" />
</LinearLayout>

Para desativar mais de um problema, relacione aqueles que você quer desativar em uma string separada por vírgulas. Por exemplo:

tools:ignore="NewApi,StringFormatInvalid"

Para suprimir a verificação de todos os problemas do lint no elemento XML, use a palavra-chave all:

tools:ignore="all"

Configurar opções do lint com o Gradle

O plug-in do Android para Gradle permite configurar determinadas opções do lint, como quais verificações serão executadas ou ignoradas, usando o bloco lint{} no arquivo build.gradle do módulo.

O snippet de código a seguir mostra algumas das propriedades que podem ser configuradas:

Kotlin

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable += "TypographyFractions" + "TypographyQuotes"
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable += "RtlHardcoded" + "RtlCompat" + "RtlEnabled"
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly += "NewApi" + "InlinedApi"
        // If set to true, turns off analysis progress reporting by lint.
        quiet = true
        // If set to true (default), stops the build if errors are found.
        abortOnError = false
        // If set to true, lint only reports errors.
        ignoreWarnings = true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies = true
    }
}
...

Groovy

android {
    ...
    lint {
        // Turns off checks for the issue IDs you specify.
        disable 'TypographyFractions','TypographyQuotes'
        // Turns on checks for the issue IDs you specify. These checks are in
        // addition to the default lint checks.
        enable 'RtlHardcoded','RtlCompat', 'RtlEnabled'
        // To enable checks for only a subset of issue IDs and ignore all others,
        // list the issue IDs with the 'check' property instead. This property overrides
        // any issue IDs you enable or disable using the properties above.
        checkOnly 'NewApi', 'InlinedApi'
        // If set to true, turns off analysis progress reporting by lint.
        quiet true
        // If set to true (default), stops the build if errors are found.
        abortOnError false
        // If set to true, lint only reports errors.
        ignoreWarnings true
        // If set to true, lint also checks all dependencies as part of its analysis.
        // Recommended for projects consisting of an app with library dependencies.
        checkDependencies true
    }
}
...

Todos os métodos do lint que substituem o nível de gravidade de um problema respeitam a ordem de configuração. Por exemplo, definir um problema como fatal em finalizeDsl() substitui a desativação na DSL principal.

Criar um valor de referência de avisos

É possível tirar um snapshot do conjunto atual de avisos do projeto e usá-lo como valor de referência para futuras execuções de inspeção. Assim, apenas novos problemas serão relatados. O snapshot como valor de referência permite que você comece a usar o lint para indicar falha no build sem ter que voltar atrás e resolver todos os problemas existentes primeiro.

Para criar um snapshot de referência, modifique o arquivo build.gradle do projeto da seguinte maneira:

Kotlin

android {
    lint {
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        baseline file("lint-baseline.xml")
    }
}

Quando você adiciona essa linha pela primeira vez, o arquivo lint-baseline.xml é criado para estabelecer o valor de referência. A partir desse momento, as ferramentas lerão o arquivo apenas para determinar o valor de referência. Se você quiser criar um novo valor de referência, exclua manualmente o arquivo e execute o lint novamente para recriá-lo.

Em seguida, execute o lint no ambiente de desenvolvimento integrado selecionando Code > Inspect Code ou na linha de comando, conforme mostrado a seguir. A saída revela a localização do arquivo lint-baseline.xml. O local do arquivo para sua configuração pode ser diferente do mostrado aqui:

$ ./gradlew lintDebug -Dlint.baselines.continue=true
...
Wrote XML report to file:///app/lint-baseline.xml
Created baseline file /app/lint-baseline.xml

A execução de lint registra todos os problemas atuais no arquivo lint-baseline.xml. O conjunto de problemas atuais é chamado de valor de referência. Você pode verificar o arquivo lint-baseline.xml no controle de versões se quiser compartilhá-lo com outras pessoas.

Personalizar o valor de referência

Se você quiser adicionar apenas determinados tipos de problemas ao valor de referência, especifique os problemas a serem adicionados editando o arquivo build.gradle do projeto da seguinte maneira:

Kotlin

android {
    lint {
        checkOnly += "NewApi" + "HandlerLeak"
        baseline = file("lint-baseline.xml")
    }
}

Groovy

android {
    lintOptions {
        checkOnly 'NewApi', 'HandlerLeak'
        baseline file("lint-baseline.xml")
    }
}

Se você adicionar novos avisos à base de código depois de criar o valor de referência, o lint listará apenas os bugs recém-introduzidos.

Alerta de valor de referência

Quando um valor de referência estiver em vigor, você vai receber um aviso informativo que informa que um ou mais problemas foram filtrados porque estão listados no valor de referência. Esse aviso ajuda você a lembrar que você configurou um valor de referência e que precisa corrigir todos os problemas em algum momento.

Esse aviso informativo também monitora os problemas que não são mais relatados. Essas informações permitem saber se você realmente corrigiu os problemas. Assim, é possível recriar o valor de referência para evitar que um erro volte sem ser detectado.

Observação: valores de referência são ativados quando você executa inspeções no modo de lote no ambiente de desenvolvimento integrado, mas eles são ignorados pelas verificações no editor executadas em segundo plano quando você está editando um arquivo. Isso ocorre porque os valores de referência se destinam ao caso em que uma base de código tem um grande número de avisos, mas você quer corrigir problemas localmente enquanto trabalha no código.

Executar inspeções manualmente

Para executar manualmente inspeções configuradas do lint e outras inspeções do ambiente de desenvolvimento integrado, selecione Code > Inspect Code. Os resultados da inspeção são exibidos na janela Inspection Results.

Definir escopo e perfil da inspeção

Selecione os arquivos que você quer analisar (o escopo da inspeção) e as inspeções que você quer executar (o perfil de inspeção) da seguinte maneira:

  1. Na visualização Android, abra seu projeto e selecione o projeto, a pasta ou o arquivo que você quer analisar.
  2. Na barra de menus, selecione Code > Inspect Code.
  3. Na caixa de diálogo Specify Inspection Scope, revise as configurações.

    Especificar o escopo da inspeção
    Figura 3. Revise as configurações do escopo da inspeção.

    As opções exibidas na caixa de diálogo Especificar Inspection Scope variam de acordo com o projeto, pasta ou arquivo selecionado:

    • Quando você seleciona um projeto, arquivo ou diretório, a caixa de diálogo Especificar Inspection Scope exibe o caminho para o projeto, arquivo ou diretório selecionado.
    • Quando você seleciona mais de um projeto, arquivo ou diretório, a caixa de diálogo specified Inspection Scope exibe um botão de opção selecionado para Selected files.

    Para mudar o que será inspecionado, selecione um dos outros botões de opção. Consulte a caixa de diálogo "Especificar Inspection Scope" para ver uma descrição de todos os campos possíveis na caixa de diálogo Especificar escopo de inspeção.

  4. Em Perfil de inspeção, selecione o perfil que você quer usar.
  5. Clique em OK para executar a inspeção.

    A Figura 4 mostra os resultados do lint e de outras inspeções do ambiente de desenvolvimento integrado gerados pela execução de Inspect Code:

    Selecione um problema para ver a resolução dele.
    Figura 4. Resultados da inspeção. Selecione um problema para conferir a resolução.
  6. No painel Inspection Results, abra os resultados da inspeção expandindo e selecionando categorias de erro, tipos ou problemas.

    O painel Inspection Report mostra o relatório de inspeção para a categoria, tipo ou problema de erro selecionado no painel Inspection Results e exibe o nome e o local do erro. Quando aplicável, o relatório de inspeção exibe outras informações, como um resumo do problema, para ajudar na correção.

  7. Na visualização em árvore do painel Inspection Results, clique com o botão direito do mouse em uma categoria, tipo ou problema para exibir o menu de contexto.

    Dependendo do contexto, você pode:

    • Ir para a fonte.
    • Excluir e incluir itens selecionados
    • Eliminar os problemas.
    • Editar configurações.
    • Gerenciar alertas de inspeção.
    • Execute novamente uma inspeção.

Para conferir descrições dos botões da barra de ferramentas, dos itens do menu de contexto e dos campos do relatório de inspeção, consulte Janela da ferramenta Inspection Results.

Usar um escopo personalizado

Use um dos escopos personalizados fornecidos no Android Studio desta forma:

  1. Na caixa de diálogo Specify Inspection Scope, selecione Custom scope.
  2. Clique na lista Escopo personalizado para mostrar suas opções:

    Escolher o escopo da inspeção
    Figura 5. Selecione o escopo personalizado que você quer usar.
    • Todos os lugares:todos os arquivos.
    • Project Files:todos os arquivos do projeto atual.
    • Project Source Files:somente os arquivos de origem do projeto atual.
    • Project Production Files: somente os arquivos de produção do projeto atual.
    • Project Test Files: somente os arquivos de teste do projeto atual.
    • Arranhões e consoles:somente os arquivos de rascunho e consoles abertos no projeto atual.
    • Arquivos visualizados recentemente:apenas os arquivos visualizados recentemente no projeto atual.
    • Current File: somente o arquivo atual do projeto atual. Exibido quando você seleciona um arquivo ou uma pasta.
    • Diretório selecionado: somente a pasta atual do projeto atual. Aparece quando você seleciona uma pasta.
    • Class Hierarchy quando você seleciona essa opção e clica em OK, uma caixa de diálogo é exibida com todas as classes do projeto atual. Na caixa de diálogo, use o campo Search by Name para filtrar e selecionar as classes a serem inspecionadas. Se você não filtrar a lista de classes, a inspeção do código inspecionará todas as classes.

    Se você tiver um VCS configurado para o projeto, também há opções para restringir a pesquisa aos arquivos que foram modificados.

  3. Clique em OK.

Criar um escopo personalizado.

Para inspecionar uma seleção de arquivos e diretórios que não é abrangida por nenhum dos escopos personalizados disponíveis no momento, você pode criar um escopo personalizado:

  1. Na caixa de diálogo Specify Inspection Scope, selecione Custom scope.
  2. Clique nos três pontos após a lista Escopo personalizado.

    Caixa de diálogo &quot;Specify Inspection Scope&quot;.
    Figura 6. Caixa de diálogo "Especificar escopo da inspeção".

    A caixa de diálogo Scopes é exibida.

    Criar um escopo personalizado.
    Figura 7. Criar um escopo personalizado.
  3. Clique no botão no canto superior esquerdo da caixa de diálogo para definir um novo escopo.
  4. Na lista Add Scope exibida, selecione Local.

    Os escopos locais e compartilhados são usados no projeto pelo recurso Inspect Code. Um escopo Shared também pode ser usado por outros recursos do projeto com um campo de escopo. Por exemplo, quando você clica em Edit Settings para mudar as configurações de Find Usages, a caixa de diálogo exibida terá um campo Scope, em que é possível selecionar um escopo compartilhado.

    Selecione um escopo compartilhado na caixa de diálogo &quot;Find Usages&quot;
    Figura 8. Selecione um escopo compartilhado na caixa de diálogo Find Usages.
  5. Dê um nome ao escopo e clique em OK.

    O painel direito da caixa de diálogo Scopes é preenchido com opções que permitem definir o escopo personalizado.

  6. Na lista, selecione Project.

    Será exibida uma lista dos projetos disponíveis.

    Observação: é possível criar o escopo personalizado para projetos ou pacotes. As etapas são as mesmas.

  7. Expanda as pastas do projeto, selecione o que você quer adicionar ao escopo personalizado e escolha se quer incluir ou excluir esse item.

    Definir um escopo personalizado.
    Figura 9. Defina um escopo personalizado.
    • Include: inclui essa pasta e os arquivos pertencentes a ela, mas não inclui nenhuma das subpastas.
    • Incluir recursivo: inclui esta pasta e os arquivos pertencentes a ela, bem como suas subpastas e arquivos.
    • Exclude: exclui essa pasta e os arquivos pertencentes a ela, mas não exclui nenhuma das subpastas.
    • Excluir Recursivamente: exclui esta pasta e os arquivos pertencentes a ela, bem como suas subpastas e arquivos.

    A figura 10 mostra que a pasta main é incluída e que as pastas java e res são incluídas recursivamente. Azul indica uma pasta incluída parcialmente, e verde indica pastas e arquivos incluídos recursivamente.

    Exemplo de padrão de um escopo personalizado.
    Figura 10. Exemplo de padrão para um escopo personalizado.
    • Se você selecionar a pasta java e clicar em Excluir recursivo, o destaque em verde vai desaparecer na pasta java e em todas as pastas e arquivos relacionados.
    • Se você selecionar o arquivo MainActivity.kt destacado em verde e clicar em Excluir, MainActivity.kt não será mais destacado em verde, mas todo o restante na pasta java permanecerá verde.
  8. Clique em OK. O escopo personalizado aparece na parte de baixo da lista.

Revisar e editar perfis de inspeção

O Android Studio tem uma seleção de perfis do lint e outros perfis de inspeção, atualizados com as atualizações do Android. Você pode usar esses perfis como estão ou editar os nomes, descrições, gravidades e escopos. Também é possível ativar e desativar grupos inteiros de perfis ou perfis individuais em um grupo.

Para acessar as configurações de Inspections:

  1. Selecione Arquivo > Configurações. (no Windows) ou Android Studio > Preferences (no macOS ou Linux).
  2. Selecione Editor > Inspections.
  3. O painel Inspections mostra uma lista de inspeções compatíveis e as respectivas descrições.

    Inspeções com suporte e descrições relacionadas.
    Figura 11. Inspeções compatíveis e as descrições delas.
  4. Selecione a lista Profile para alternar entre inspeções Default (Android Studio) e Project Default (o projeto ativo).

    Para ver mais informações, consulte a página Gerenciar perfis do IntelliJ (link em inglês).

  5. Na lista Inspections no painel à esquerda, selecione uma categoria de perfil de nível superior ou expanda um grupo e selecione um perfil específico.

    Quando você seleciona uma categoria de perfil, é possível editar todas as inspeções dela como uma única inspeção.

  6. Selecione a lista Show Schema Actions Ícone &quot;Mostrar ações do esquema&quot; para copiar, renomear ou adicionar descrições, exportar e importar inspeções.
  7. Ao concluir, clique em OK.