Skip to content

MASTG-TEST-0245: Referências às APIs de versão da plataforma

Visão Geral

Este teste verifica se um aplicativo está sendo executado em uma versão recente do sistema operacional Android.

Em Kotlin, os aplicativos Android podem determinar a versão do sistema operacional utilizando a propriedade Build.VERSION.SDK_INT, que retorna o nível de API do sistema atual. Ao compará-lo com uma constante de versão específica, como Build.VERSION_CODES.UPSIDE_DOWN_CAKE para Android 14 (nível de API 34), os aplicativos podem executar código condicionalmente com base na versão do sistema operacional. Neste exemplo, "Upside Down Cake" é o nome interno do Android 14.

Os aplicativos Android especificam um minSdkVersion, que define a versão mais antiga do sistema operacional que eles suportam. Embora um minSdkVersion elevado reduza a necessidade de verificações de versão em tempo de execução, a verificação dinâmica da versão do sistema operacional utilizando Build.VERSION.SDK_INT continua sendo benéfica. Isso permite que os aplicativos aproveitem recursos mais recentes e seguros quando disponíveis, mantendo a compatibilidade com versões anteriores.

Etapas

  1. Utilize Análise Estática no Android com uma ferramenta como semgrep para identificar APIs que verificam a versão do sistema operacional.

Observação

A saída deve conter uma lista de locais onde APIs relevantes são utilizadas.

Avaliação

O teste falha se o aplicativo não incluir nenhuma chamada de API para verificar a versão do sistema operacional.

Demos

MASTG-DEMO-0025: Usos do Build.VERSION.SDK_INT com semgrep