Melhore o seu código com as verificações lint

posted in: Articles | 0

, além de garantir que o seu aplicativo cumpre os seus requisitos funcionais através de testes de construção, é importante que você também garanta que o seu código não tem problemas estruturais ao executar o código throughlint. A ferramenta lint ajuda a encontrar um código mal estruturado que pode impactar a melhoria e eficiência de seus aplicativos Android e tornar o seu código mais difícil de manter.

por exemplo, se os seus ficheiros de recursos XML contiverem espaços de nomes não utilizados, isto ocupa espaço e incorre no processamento desnecessário., Outras questões estruturais, como o uso de elementos obsoletos ou chamadas de API que não são suportados pelas versões de API alvo, podem levar a que o código não funcione corretamente.O cotão pode ajudar-te a resolver estes problemas.

para melhorar ainda mais o desempenho de linting, você deve também adicionar anotações ao seu código.

visão geral

Android Studio fornece uma ferramenta de digitalização de código chamada Lint que pode ajudá-lo a identificar e corrigir problemas com a qualidade estrutural do seu codew sem ter de executar o aplicativo ou escrever casos de teste., Cada problema detectado pela ferramenta é relatado com uma mensagem de descrição e um nível de gravidade, para que você possa priorizar rapidamente as melhorias críticas que precisam ser feitas. Além disso, você pode reduzir o nível de gravidade de um problema para assinalar questões que não são relevantes para o seu projeto, ou aumentar o nível de gravidade para iluminar problemas específicos.

a ferramenta lint verifica seus arquivos Fonte do projeto Android para possíveis bugs e melhorias de otimização para correção, segurança, desempenho, usabilidade, acessibilidade e internacionalização., Ao usar o Android Studio, as inspeções configuradas lint e IDE são executadas sempre que você constrói o seu aplicativo. No entanto, você pode executar manualmente inspeções ou executar lint a partir da linha de comando.

Nota: Quando o seu código é compilado no Android Studio, as inspeções de código additionalIntelliJ executam a revisão de código tostreamline.

A Figura 1 mostra como a ferramenta lint processa os ficheiros de código da aplicação.

Figura 1., O fluxo de trabalho de digitalização de código com a ferramenta lint

Arquivos de código da aplicação os arquivos de código consistem de arquivos que compõem o seu projeto Android, incluindo arquivos Java, Kotlin, andXML, ícones e arquivos de configuração ProGuard. Olint.xmlfile um ficheiro de configuração que pode usar para especificar as verificações de fundo que deseja excluir e personalizar os níveis de gravidade do problema. A ferramenta lint é uma ferramenta de digitalização de código estática que você pode executar em seu projeto Android quer a partir da linha de comando ou inAndroid Studio (veja inspeções de execução manual)., A linttool verifica problemas de código estrutural que podem afetar a qualidade e o desempenho de sua aplicação android. Recomenda-se vivamente que corrija quaisquer erros que o lint detecte antes de publicar a sua aplicação. Resultados da verificação do lint você pode ver os resultados do lint no console ou na janela de resultados da inspeção no Android Studio. Veja as inspeções de execução manual.,

Executar fiapo de linha de comando

Se você estiver usando o Android Studio ou o Gradle, você pode usar o Gradle wrapper para chamar o lint tarefa para o seu projeto digitando o seguinte comando a partir do diretório raiz do seu projeto:

  • No Windows:
    gradlew lint
  • No Linux ou Mac:
    ./gradlew lint

Você deve ver uma saída semelhante à seguinte:

Quando o fiapo ferramenta completa sua verificações, que fornece caminhos para o XML e HTML versões de fibra de relatório., Você pode então navegar para o relatório HTML e abri-lo em seu navegador, como mostrado na Figura 2.

Figura 2. Exemplo de HTML fiapos relatório

Se seu projeto inclui construir variantes, e em vez disso, você deseja executar o lint tarefa para apenas uma compilação específica variante, você deve capitalizar a variante nome e prefixo com lint.

gradlew lintDebug

para saber mais sobre a execução de tarefas de Gradle a partir da linha de comandos, leia compilar a sua aplicação a partir da linha de comandos.,

execute lint usando a ferramenta standalone

Se você não estiver usando Android Studio ou Gradle, você pode usar a ferramenta standalone lint depois de instalar as ferramentas SDK Android do Gestor SDK. Você pode então localizar a ferramenta de lint no diretório android_sdk/tools/.

para executar uma lista de ficheiros numa pasta de projecto, use o seguinte comando:

lint <project directory>

por exemplo, pode emitir o seguinte comando para analisar os ficheiros sob omyproject e as suas sub-pastas., The issue ID MissingPrefixtells lint to only scan for XML attributes that are missing the Android namespace prefix.

lint --check MissingPrefix myproject 

Para ver a lista completa de bandeiras e argumentos da linha de comandos suportados pela ferramenta, use o seguintes comando:

lint --help

O exemplo a seguir mostra a saída do console quando o fiapo comando é executado contra o umprojeto chamado de Terremoto.,

A saída listas acima de quatro avisos e sem erros: três avisos (ManifestOrder UsesMinSdkAttributes e UnusedResources) no projeto AndroidManifest.xml arquivo, e um aviso (IconMissingDensityFolder) Preferences.xml arquivo de layout.

Configure lint para suprimir os avisos

por Omissão Quando você executa uma varredura de lint, a ferramenta verifica todas as questões que o lint suporta. Você também pode restringir as questões para cotão para verificar e atribuir o nível de gravidade para essas questões., Por exemplo, você pode suprimir a verificação do Cotão para questões específicas que não são relevantes para o seu projeto e, você pode configurar o cotão para relatar questões não críticas a um nível de baixa qualidade.

Você pode configurar os fiapos de verificação para os diferentes níveis de:

  • Global (projeto inteiro)
  • módulo de Projeto
  • módulo de Produção
  • módulo de Teste
  • Abra arquivos
  • hierarquia de classes
  • Sistema de Controle de Versão (VCS) escopos

Configurar fiapos no Android Studio

O built-in fiapos ferramenta verifica a existência no seu código enquanto você está usingAndroid Studio., Você pode ver avisos e erros de duas maneiras:

  • como texto pop-up no Editor de código. Quando lint encontra um problema, ele destaca o código problemático em amarelo, ou para questões mais graves, ele sublinha o código em vermelho.
  • na janela de resultados da inspeção da fibra após clicar em analisar > inspecionar Código.Veja as inspeções de execução manual.

Configure o ficheiro lint

poderá indicar as suas preferências de verificação de lint no ficheiro lint.xml. Se estiver a criar este ficheiro manualmente, coloque-o no directório raiz do seu projecto Android.,

lint.xml arquivo consiste de um delimitador <lint> pai tag thatcontains uma ou mais crianças <issue> elementos. Lint define um únicoid valor do atributo para cada<issue>.

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

você pode alterar o nível de gravidade de um problema ou desativar a verificação da ligação para o problema, definindo o atributo de gravidade no <issue> tag.,

dica: para uma lista completa de questões suportadas por lint e seus IDs de emissão correspondentes, execute o comando lint --list.Cotão de amostra.ficheiro xml

o exemplo seguinte mostra o conteúdo de um ficheiro lint.xml.

configurar a verificação de cores para os ficheiros de código Java, Kotlin e XML

pode desactivar o lint ao verificar os seus ficheiros de código Java, Kotlin e XML.

dica: você poderá gerir a funcionalidade de verificação de cintas para os seus ficheiros de código Java, Kotlin ou XML na janela de Preferências por omissão., Selecione o Arquivo > Outras Definições > Configurações Padrão e, em seguida, no painel da esquerda do Padrão de diálogo Preferências, selecione Editor de > Inspeções.

configurar a verificação de cotão em Java ou Kotlin

para desactivar a verificação de cotão especificamente para uma classe ou método no seu projecto Android,adicione o @SuppressLint anotação a esse código.

o exemplo seguinte mostra como você pode desligar a verificação de cotão para o método NewApiissue in the onCreate., A ferramenta de lã continua a verificar para o NewApi emissão em outros métodos desta classe.,

O exemplo a seguir mostra como desativar os fiapos de verificação para o ParserErrorproblema no FeedProvider categoria:

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

Kotlin

@SuppressLint("all")

Java

@SuppressLint("all")

Configurar fiapos de verificar em XML

Você pode usar o tools:ignore atributo para desativar fiapos de verificação para seções específicas de seus arquivos XML., Coloque o seguinte valor de espaço de nomes lint.xml arquivo, de modo que o lint ferramenta reconhece o atributo:

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

O exemplo a seguir mostra como você pode desativar fiapos de verificação para oUnusedResources problema no <LinearLayout> elemento de uma XMLlayout arquivo. O atributo ignore é herdado pelos elementos filhos do parentelo no qual o atributo é declarado. Neste exemplo, a verificação de cotão também está desativada para o elemento thechild <TextView>.,

para desactivar mais do que um problema, enumere os problemas a desactivar num texto separado por vírgulas. Forexample:

tools:ignore="NewApi,StringFormatInvalid"

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

tools:ignore="all"

Configurar opções de fiapos com Gradle

O Android plugin para o Gradle permite configurar algumas opções de fiapos, como que verifica para executar ou ignorar, usando o lintOptions {} bloquear em seu nível de módulo build.gradle arquivo., O seguinte excerto de código mostra – lhe algumas das propriedades que pode configurar:

crie uma linha de base de avisos

poderá tirar uma fotografia do conjunto actual de avisos do seu projecto e, em seguida, usar a fotografia como uma linha de base para futuras operações de inspecção, de modo a que só sejam comunicados novos problemas. A imagem inicial permite-lhe começar a usar cotão para falhar a compilação sem ter de voltar atrás e resolver todos os problemas existentes em primeiro lugar.

para criar uma imagem de base, modifique o ficheiro

do seu projecto da seguinte forma.,

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

quando adiciona pela primeira vez esta linha, o ficheirolint-baseline.xml é criado para estabelecer a sua linha de base. A partir daí, as ferramentas só lêem o arquivo para determinar a linha de base. Se quiser criar uma nova linha de base, remova manualmente o ficheiro e execute o lint de novo para o recriar.

então, execute lint a partir da IDE (analise > inspecione Code) ou a partir da linha de comando como se segue. A saída imprime a localização do ficheiro lint-baseline.xml. A localização do arquivo para sua configuração pode ser diferente do que é mostrado aqui.,

$ ./gradlew lintDebug...Wrote XML report to file:///app/lint-baseline.xmlCreated baseline file /app/lint-baseline.xml

Running lint regista todas as questões actuais no lint-baseline.xml file. O conjunto de questões atuais é chamado de linha de base, e você pode verificar o lint-baseline.xml arquivo no controle de versões, se você quiser compartilhá-lo com outros.

Personalize a linha de base

Se quiser adicionar alguns tipos de problemas à linha de base, mas não todos, poderá indicar os problemas a adicionar editando o id

, como se segue.,

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

Depois de criar a linha de base, se adicionar quaisquer novos avisos à base de código, As listas de cores apenas contêm os erros recentemente introduzidos.

Aviso de base

quando as linhas de base estão em vigor, você recebe um aviso informativo que lhe diz que uma ou mais questões foram filtradas Porque já estavam listadas na linha de base. A razão para este aviso é para ajudá-lo a lembrar que você configurou uma linha de base, porque idealmente, você gostaria de corrigir todos os problemas em algum momento.,

este Aviso informativo não só lhe diz O número exacto de erros e avisos que foram filtrados, como também mantém o registo de questões que já não são reportadas. Esta informação permite que você saiba se você realmente corrigiu problemas, então você pode opcionalmente recriar a linha de base para evitar que o erro volte sem ser detectado.

Nota: As linhas de base estão activas quando executa as inspecções em lote no modo IDE, mas são ignored para as verificações no editor que correm em segundo plano quando está a editar um ficheiro., A razão é que as linhas de base são destinadas para o caso em que uma base de código tem um grande número de avisos existentes,mas você quer corrigir problemas localmente enquanto você toca o código.

execute manualmente as inspecções

pode executar manualmente as inspecções configuradas e outras inspecções de IDE, seleccionando analisar > inspeccionar o código. Os resultados da inspecção aparecem na janela dos resultados da Inspecção.,

define o âmbito e perfil de inspecção

Seleccione os ficheiros que deseja analisar (âmbito de inspecção) e as inspeções que deseja executar (perfil de inspecção), como se segue:

  1. na vista Android, abra o seu projecto e seleccione o projecto, uma pasta ou um ficheiro que deseja analisar.
  2. da barra de menu, seleccione analisar> inspeccionar Código.
  3. na janela Especificar o âmbito da Inspecção, reveja a configuração.

    Figura 3., Rever a configuração do âmbito da inspecção

    A combinação de opções que aparecem na janela de definição do âmbito da Inspecção varia consoante tenha seleccionado um projecto, pasta ou ficheiro. Você pode alterar o que inspecionar selecionando um dos outros botões de rádio. Janela de âmbito de inspeção seespecificar para uma descrição de todos os campos possíveis na janela Especificar o âmbito de inspeção.

    • Quando seleccionar um projecto, ficheiro ou directório, A janela de definição do âmbito de inspecção mostra a localização do projecto, ficheiro ou directório que seleccionou.,
    • Quando seleccionar mais do que um projecto, ficheiro ou directório, A janela para definir o âmbito da Inspecção mostra um botão de rádio assinalado para os ficheiros seleccionados.
  4. no perfil de inspecção, mantenha o perfil predefinido (por omissão do projecto).clique em OK para executar a inspeção. A figura 4 mostra os resultados da inspeção da fieira e de outras IDE da execução do Código inspecionado:

    Figura 4. Seleccione um problema para ver a sua resolução

  5. na árvore da área esquerda, veja os resultados da inspecção expandindo e seleccionando categorias, tipos e problemas de erros.,

    a área direita mostra o relatório de inspeção para a categoria de erro selecionada, tipo ou emissão e fornece o nome e a localização do erro. Quando aplicável, o relatório de inspeção apresenta outras informações, tais como uma sinopse de problemas para ajudá-lo a corrigir o problema.

  6. na árvore da área esquerda, carregue com o botão direito numa categoria, tipo ou assunto para mostrar o menu de contexto.

    dependendo do contexto, você pode fazer todos ou alguns dos seguintes: Saltar para o código, excluir e incluir itens selecionados, suprimir problemas, Editar Configurações, Gerenciar alertas de inspeção e re-executar uma inspeção.,

para as descrições dos botões da barra de ferramentas do lado esquerdo, dos itens do menu de contexto e dos campos do relatório de inspecção, veja a janela da ferramenta de inspecção.

utilize um âmbito personalizado

pode usar um dos âmbitos personalizados fornecidos no Android Studio, como se segue:

  1. na janela para especificar o âmbito da Inspecção, carregue no âmbito personalizado.
  2. carregue na lista personalizada do âmbito para mostrar as suas opções.

    Figura 5. Seleccione o âmbito personalizado que deseja usar

    • ficheiros do projecto: todos os ficheiros do projecto actual.,ficheiros de produção do projecto: apenas os ficheiros de produção do projecto actual.
    • ficheiros de Teste do projecto: apenas os ficheiros de teste do projecto actual. Ver tipos de teste e localização.
    • abrir ficheiros: apenas os ficheiros que tem abertos no projecto actual.
    • Module <your-module>: apenas os ficheiros na pasta correspondente do módulo no seu projecto actual.
    • ficheiro actual: apenas o ficheiro actual no seu projecto actual. Aparece quando tiver um ficheiro ou pasta seleccionado., hierarquia de classes
    • : Quando seleccionar esta e carregar em OK, aparece uma janela com todas as classes do projecto actual. Use o campo procurar pelo nome na janela para filtrar e seleccionar as classes a inspeccionar. Se você não filtrar a lista de classes, inspeção de código inspeciona todas as classes.
  3. Carregue em OK.

crie um âmbito personalizado

quando quiser inspeccionar uma selecção de ficheiros e pastas que não esteja coberta por nenhum dos âmbitos personalizados disponíveis de momento, poderá criar um âmbito personalizado.,

  1. na janela Especificar o âmbito da Inspecção, seleccione o âmbito personalizado.
  2. Carregue nos três pontos após a lista personalizada do escopo.

    Figura 6. Indique a janela do âmbito da Inspecção

    a janela do campo aparece.

    Figura 7. Criar um âmbito personalizado

  3. Carregue em Adicionar para definir um novo âmbito.
  4. na lista resultante adicionar o escopo, seleccione Local. ambos os âmbitos locais e compartilhados são usados dentro do projeto para a funcionalidade inspecionar Código., Um escopo compartilhado também pode ser usado com outras características do projeto que têm um campo escopo. Por exemplo, quando carregar em Editar a configuração para alterar a configuração para encontrar as utilizações, a janela resultante tem um campo de âmbito onde poderá seleccionar um âmbito partilhado.

    Figura 8. Seleccione um âmbito partilhado na janela de procura de usos

  5. dê ao âmbito um nome e carregue em OK.

    a área direita da janela de âmbitos é populada com opções que lhe permitem definir o âmbito personalizado.

  6. da lista, seleccione o projecto., é apresentada uma lista dos projectos disponíveis.

    nota: pode criar o âmbito personalizado para projectos ou pacotes. Os passos são os mesmos de qualquer maneira.

  7. expanda as pastas do projecto, seleccione o que deseja adicionar ao âmbito personalizado e carregue num dos botões à direita.

    Figura 9. Defina um âmbito personalizado

    • incluem: inclua esta pasta e os seus ficheiros, mas não inclua nenhuma das suas subpastas.
    • inclui recursivamente: inclui esta pasta e todos os seus ficheiros e subpastas e os seus ficheiros.,
    • Excluir: Excluir esta pasta e os seus ficheiros, mas não excluir nenhuma das suas subpastas.
    • excluir recursivamente: excluir a pasta ths e todos os seus ficheiros e subpastas e os seus ficheiros.

    A Figura 10 mostra que a pasta principal está incluída, e que a pasta java está incluída recursivamente. O azul indica pastas parcialmente incluídas e o verde indica pastas e arquivos incluídos recursivamente.

    Figura 10., Exemplo padrão para um escopo personalizado

    • Se seleccionar a pasta java e carregar em Excluir recursivamente, o realce verde desaparece na pasta java e em todas as pastas e ficheiros por baixo dela.
    • se, em alternativa, seleccionar a Mainactividade realçada a verde.ficheiro java e carregue em Excluir, MainActivity.java não é mais verde realçado, mas tudo o resto sob a pasta java é verde realçado.
  8. Carregue em OK. O âmbito personalizado aparece no fundo da lista.,

rever e editar perfis de inspeção

Android Studio vem com uma seleção de cotão e outros perfis de inspeção que são atualizados através de atualizações Android. Você pode usar esses perfis como está ou editar seus nomes, descrições, severidade, escópios. Você também pode ativar e desativar grupos inteiros de perfis ou perfis individuais com um grupo.

para aceder à janela de inspecções:

  1. seleccione analisar > inspeccionar Código.
  2. Na janela de definição do âmbito sob o perfil de inspecção, carregue em mais.,

    a janela de Inspeções aparece com uma lista das inspeções suportadas e suas descrições.

    Figura 11. As inspecções suportadas e as suas descrições

  3. seleccione a lista do perfil para alternar entre as inspecções predefinidas (Android Studio) e as do projecto predefinido (the active project). Para mais informações, consulte esta página da janela do campo de inspeção Intelijspecifice.
  4. na janela de inspecções na área esquerda, seleccione uma categoria de perfil de topo ou expanda um grupo e seleccione um perfil específico., Quando você seleciona uma categoria de perfil, você pode editar todas as inspeções nessa categoria como uma única inspeção.
  5. seleccione a lista de gestão para copiar, mudar o nome, adicionar descrições, exportar e importar as inspecções.quando terminar, clique em OK.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *