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 o código não tenha 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, se os arquivos de recursos XML contiverem namespaces não utilizados, isso ocupará espaço e exigirá 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, você também pode 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 nem programar 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 diminuir o nível de gravidade de um problema para ignorar questões 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 do lint e do ambiente de desenvolvimento integrado são executadas durante a criação do app. No entanto, é possível 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 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, ela 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 os arquivos de origem do app.

Fluxo de trabalho de 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 em 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 que pode ser 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 do 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 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. Se você quiser executar o lint em uma variante diferente, coloque o nome da variante em maiúscula e adicione 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 autônoma do 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 verifica todos os problemas suportados pelo lint. Você também pode restringir os problemas verificados pelo lint e atribuir níveis de gravidade aos problemas. 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 de gravidade mais baixo.

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 mudar o nível de gravidade ou desativar a verificação do lint para um problema, 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 problemas são informados. A verificação IconMissingDensityFolder é desativada completamente, e a verificação ObsoleteLayoutParam é 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.

Para defini-las para o ambiente de desenvolvimento integrado ou para projetos individuais, selecione o perfil apropriado.

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);

Isso 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 está 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 algumas opções de 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 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 de 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 criar um snapshot do conjunto atual de avisos do seu 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 na sua configuração pode ser diferente do que é 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. Verifique 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 vai 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 alerta informando que um ou mais problemas foram filtrados por estarem listados no valor de referência. Esse aviso ajuda 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 problemas que não são mais relatados. Essas informações permitem saber se você realmente corrigiu os problemas. Dessa forma, é 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 são destinados aos casos em que uma base de código tem um grande número de avisos, mas você quer corrigir os problemas localmente enquanto mexa 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 da inspeção) da seguinte forma:

  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 que aparecem na caixa de diálogo Especificar escopo da inspeção variam de acordo com o projeto, a pasta ou o arquivo selecionado:

    • Quando você seleciona um projeto, arquivo ou diretório, a caixa de diálogo Especificar Escopo da inspeção 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 Validate 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 escopo da inspeção" para ver uma descrição de todos os campos possíveis na caixa de diálogo Especificar escopo da 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 solução.
    Figura 4. Resultados da inspeção. Selecione um problema para saber como ele pode ser resolvido.
  6. No painel Inspection Results, abra e selecione categorias de erro, tipos ou problemas para ver os resultados da inspeção.

    O painel Inspection Report exibe o relatório de inspeção para a categoria, o tipo ou o 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 a corrigi-lo.

  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 origem.
    • Excluir e incluir os itens selecionados.
    • Suprimir problemas.
    • Editar configurações.
    • Gerenciar alertas de inspeção.
    • Executar novamente uma inspeção.

Para 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 de ferramentas de resultados da inspeção.

Usar um escopo personalizado

Use um dos escopos personalizados fornecidos no Android Studio da seguinte forma:

  1. Na caixa de diálogo Specify Inspection Scope, selecione Custom scope.
  2. Clique na lista Escopo personalizado para mostrar as 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.
    • Scratches and Consoles:somente os arquivos de rascunho e consoles que você abriu no projeto atual.
    • Arquivos acessados recentemente:mostra apenas os arquivos acessados recentemente no projeto atual.
    • Current File: somente o arquivo atual do projeto atual. Aparece 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 vai inspecionar todas as classes.

    Se você tiver um VCS configurado para o projeto, também haverá opções para restringir a pesquisa apenas 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, crie 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. Atribua um nome ao escopo e clique em OK.

    O painel à direita 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 selecione se quer incluí-lo ou excluí-lo.

    Definir um escopo personalizado.
    Figura 9. Definir um escopo personalizado.
    • Include: inclui essa pasta e os arquivos pertencentes a ela, mas não inclui nenhuma das subpastas.
    • Incluir recursivamente: inclui esta pasta e os arquivos pertencentes a ela, assim como as subpastas e os arquivos correspondentes.
    • 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 associados, assim como as subpastas e os arquivos correspondentes.

    A figura 10 mostra que a pasta main está incluída e que as pastas java e res são incluídas recursivamente. Azul indica uma pasta parcialmente incluída, 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 recursivamente, o destaque em verde 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 Exclude, MainActivity.kt não ficará 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 que são atualizados pelas atualizações do Android. É possível usar esses perfis como estão ou editar os nomes, descrições, gravidades e escopos deles. 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 esquerdo, selecione uma categoria de perfil de nível superior ou expanda um grupo e selecione um perfil específico.

    Ao selecionar uma categoria de perfil, é possível editar todas as inspeções dela como uma única inspeção.

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