Guia APK compatibility

Compatibilidade de APK por versão do Android (guia completo 2026)

Quais versões do Android rodam quais APKs? Níveis de API do Android 10 ao Android 17, o que fazem minSdkVersion e targetSdkVersion e cada erro de instalação com a sua correção.

Sumário

A compatibilidade de APK por versão do Android se resume a dois números no manifest do app. minSdkVersion é o piso: a sua versão do Android precisa estar nele ou acima, senão a instalação falha. targetSdkVersion é a versão contra a qual o desenvolvedor testou, e ela muda o comportamento em vez de bloquear instalações. Android 10 é API 29, Android 15 é API 35, Android 17 é API 37, e todo APK declara o número de que ele precisa.

Como funciona a compatibilidade de versão do Android

O Android confere o manifest antes de copiar qualquer arquivo, e a verificação olha dois campos. minSdkVersion nomeia a versão mais antiga do Android que o app suporta. targetSdkVersion nomeia a versão contra a qual ele foi compilado e testado. O nível de API do aparelho é comparado com o primeiro, e o segundo só afeta quais comportamentos da plataforma ficam ligados.

Três resultados decorrem dessa comparação:

  1. API do aparelho igual ou acima de minSdkVersion. A instalação segue para as verificações de assinatura e de arquitetura.
  2. API do aparelho abaixo de minSdkVersion. O instalador aborta. Pelo ADB você vê INSTALL_FAILED_OLDER_SDK; pela Play Store você vê “This app isn’t compatible with your device.”
  3. API do aparelho muito acima de targetSdkVersion. O app instala, mas o Android pode aplicar comportamentos de compatibilidade que o desenvolvedor nunca testou. É daí que vêm os travamentos em celulares modernos.

O Google documenta os dois elementos na referência do elemento uses-sdk, e os números de API aparecem na tabela abaixo.

Por que um APK se recusa a instalar na sua versão do Android

A mensagem que você vê diz qual das três verificações falhou. Combine o seu erro com a linha dele:

Mensagem ou código de erro Qual verificação falhou O que fazer
“This app isn’t compatible with your device” (Play) minSdkVersion acima do seu nível de API Instale uma versão mais antiga do app ou atualize o Android
INSTALL_FAILED_OLDER_SDK Mesma verificação, caminho de sideload Atualize o Android ou encontre uma versão que o suporte
INSTALL_FAILED_UPDATE_INCOMPATIBLE Choque de assinatura com uma cópia instalada Desinstale o app existente e instale de novo
INSTALL_FAILED_NO_MATCHING_ABIS Nenhuma biblioteca para a sua CPU Procure um APK arm64 ou universal
INSTALL_FAILED_DEPRECATED_SDK_VERSION targetSdk abaixo do piso do Android Instale por sideload com adb install --bypass-low-target-sdk-block
O app instala e depois trava na abertura Mudança de comportamento por trás do targetSdkVersion Atualize o app ou confira as notas de release para os requisitos de sistema

Essa quinta linha é a mais nova. O Android 14 bloqueia instalações que miram a API 22 ou inferior, o Android 15 sobe o piso para 23 e cada versão continua empurrando isso para cima. A flag do ADB acima é um escape proposital para cópias sideloaded. O guia de solução de problemas de instalação passa por cada código com capturas de tela.

Histórico de versões do Android e níveis de API

Os apps declaram níveis de API em vez de nomes de marketing, porque os números nunca mudam. Este é o mapeamento que você vai ver citado nas páginas de download:

Versão do Android Nível de API Lançamento Observações
Android 10 29 3 de setembro de 2019 Piso comum de apps antigos
Android 11 30 8 de setembro de 2020 Armazenamento escopado vira padrão
Android 12 31 4 de outubro de 2021 Splash screens obrigatórias
Android 12L 32 7 de março de 2022 Passa por tablets e dobráveis
Android 13 33 15 de agosto de 2022 Permissão de notificações adicionada
Android 14 34 4 de outubro de 2023 Bloqueia target SDKs muito baixos
Android 15 35 15 de outubro de 2024 Alvo mínimo sobe de novo
Android 16 36 10 de junho de 2025 Foco em telas grandes e edge-to-edge
Android 17 37 16 de junho de 2026 Versão atual

Três detalhes valem a pena no final dessa tabela. O Android 16 saiu em 10 de junho de 2025 e o Android 17 em 16 de junho de 2026, então “o Android mais novo” muda de resposta a cada verão. O Fire OS segue a mesma numeração: Fire OS 16 corresponde à API 36. E o Play Store agora amarra as suas regras a esses inteiros em vez de nomes de versão.

Como Fire OS, Wear OS, TV e Automotive numeram o Android

Todo fork do Android reporta os mesmos inteiros de API que o Google atribui a cada versão, então Fire OS 16 significa API 36, as builds do Android TV batem número a número com as dos celulares, e Wear OS e Android Automotive declaram os mesmos valores de minSdkVersion e targetSdkVersion nos manifests deles. O rótulo muda. O número não.

Plataforma Rótulo da versão Nível de API Observações de instalação
Fire OS Fire OS 16 36 Mesma base do Android 16
Android TV / Google TV Android 14 34 Numeração igual à dos celulares
Wear OS Versão do Android em Configurações, Sistema, Sobre Mesmos inteiros Trilha separada do Play Store
Android Automotive Versão do Android nas configurações do veículo Mesmos inteiros Trilha separada do Play Store
Camada Android do ChromeOS Atualiza no seu próprio ritmo Pode ficar atrás do celular Leia do contêiner do Android

O Fire OS é o exemplo mais claro, porque a versão 16 mapeia direto para a API 36 e o Android 16. Wear OS e Android Automotive rodam trilhas separadas do Play Store, então um app pode existir para celulares e faltar no relógio. Um app de espelhamento que falha num Galaxy Watch normalmente está batendo nessa divisão. Isso é um problema de catálogo.

Compatibilidade para trás e para frente explicada

O Android roda apps antigos em sistemas novos com muito mais confiabilidade do que o contrário. As duas direções falham de jeitos diferentes.

Android novo, APK antigo

Apps antigos normalmente instalam e rodam. Mudanças de comportamento ficam atrás do targetSdkVersion, então um app compilado para o Android 9 ainda se comporta como um app do Android 9 no Android 17. As falhas que as pessoas encontram são APIs removidas e limites de segundo plano endurecidos, que aparecem como travamentos ou notificações que nunca chegam. Exceções de emergência existem para alvos muito antigos, cobertas na tabela de erros acima.

Android antigo, APK novo

A instalação simplesmente não acontece. minSdkVersion é aplicada antes de qualquer outra coisa, e não existe contorno oculto. As suas escolhas reais são:

  1. Atualizar o Android. A solução permanente, assumindo que o seu aparelho ainda recebe atualizações.
  2. Instalar uma versão mais antiga do app. Arquivos de arquivo guardam versões anteriores, e releases mais antigos costumam declarar um mínimo menor. O guia de atualização de APKs cobre como fazer downgrade com segurança, incluindo por que a assinatura ainda precisa corresponder.
  3. Rodar em outro lugar. Uma imagem de emulador, um segundo aparelho ou uma sessão de Android na nuvem.

O próprio prazo do Play Store

O Google Play acrescenta uma terceira regra por cima da técnica. Apps novos e atualizações devem mirar a API 36 a partir de 31 de agosto de 2026 (com extensões até 1º de novembro de 2026). Apps ainda abaixo da API 35 deixam de ser oferecidos a novos usuários em aparelhos com um Android mais novo. Instalações existentes continuam funcionando; o que muda é a descoberta. O Google publica as datas exatas nos seus requisitos de nível de API alvo.

Linha do tempo do prazo de API alvo do Google Play

O Google Play exige que todo app novo e toda atualização mire um nível de API específico, e o piso atual é a API 36 a partir de 31 de agosto de 2026, com uma janela curta de extensão até 1º de novembro de 2026 para desenvolvedores que pedirem mais tempo. Dois prazos importam agora.

Prazo Requisito O que muda para os apps abaixo dele
31 de agosto de 2025, extensão para 1º de novembro de 2025 Apps novos e atualizações miram a API 35 Builds mais antigas alcançam novos usuários apenas em aparelhos no nível de alvo deles ou abaixo
31 de agosto de 2026, extensão para 1º de novembro de 2026 Apps novos e atualizações miram a API 36 O mesmo limite de alcance continua valendo, e apps abaixo da API 35 perdem visibilidade primeiro

Instalações existentes nunca são removidas. O Google publica as duas datas nos seus requisitos de nível de API alvo, e a referência correspondente da plataforma é a documentação de targetSdkVersion. Um app que ignora o prazo continua funcionando para quem já o instalou.

Mudanças de comportamento condicionadas ao targetSdkVersion

O targetSdkVersion decide quais comportamentos da plataforma o Android aplica a um app, então um pacote compilado para a API 29 instala no Android 16 e ainda assim mantém as regras de armazenamento, as regras de notificação e os limites de segundo plano da própria época em vez das regras mais novas da plataforma. É por isso que um app antigo pode falhar em um celular de ponta.

Comportamento Chegou em Vale a partir do targetSdkVersion O que o app experimenta depois
Armazenamento escopado Android 11, API 30 30 Escritas diretas em pastas compartilhadas falham, então exportações somem
Permissão de notificação Android 13, API 33 33 Alertas são descartados até POST_NOTIFICATIONS ser concedida
Agendamento de alarmes exatos Android 12, API 31 31 Alarmes atrasam e SCHEDULE_EXACT_ALARM precisa ser declarado
Tipos de serviço em primeiro plano Android 14, API 34 34 O start do serviço lança SecurityException sem um tipo declarado

Nenhuma dessas linhas bloqueia a instalação. O app chega, abre e depois falha no momento em que toca uma API restrita. Só o desenvolvedor pode aumentar o targetSdkVersion, então a atualização é a correção.

Como verificar a versão mínima do Android de um APK

Quatro métodos, ordenados pelo esforço que custam.

Leia a página da loja ou de download

O Google Play lista Requer Android em toda página de app. Arquivos e espelhos imprimem o mesmo valor nas suas páginas de download. Isso responde a pergunta em cinco segundos para qualquer coisa que você ainda não baixou.

Use o APK Analyzer do Android Studio

Abra o Android Studio, escolha File e depois Profile or Debug APK, e leia o minSdkVersion no resumo do manifest. Isso funciona em qualquer arquivo local, inclusive em um que você recebeu por um app de mensagens.

Leia o manifest com o ADB

Instale o app em um aparelho e depois execute:

adb shell dumpsys package com.example.app | grep -E "minSdk|targetSdk|versionName"

Ele imprime os valores que o Android realmente está aplicando para aquela cópia instalada.

Confira a arquitetura ao mesmo tempo

A mesma inspeção deve dizer quais bibliotecas nativas vêm dentro do pacote, o que importa em Chromebooks e PCs. Arquitetura, nomes de ABI e pacotes divididos são cobertos em tamanho de arquivo e arquitetura de APK.

APKs divididos, arquivos XAPK e adb install-multiple

O Google Play transforma um Android App Bundle em vários APKs pequenos em vez de um arquivo só, e um comando adb install comum aceita apenas um arquivo por vez, então um bundle precisa do comando install-multiple para chegar completo ao aparelho. Um arquivo nunca é o app inteiro.

Peça O que ela guarda Como instalar
base.apk Código, manifest, recursos adb install base.apk
config.arm64_v8a.apk Bibliotecas nativas de uma CPU Instale junto com o base usando adb install-multiple
config.en.apk Um pacote de idioma Mesmo comando, todos os arquivos em uma chamada
XAPK Contêiner com base mais splits Extraia e depois rode install-multiple em cada APK de dentro
APK universal Todas as ABIs em um arquivo adb install app-universal.apk

O install-multiple aceita todos os caminhos em uma única chamada e os trata como um pacote só, então os arquivos precisam corresponder entre si. Mande apenas um split x86 para um celular arm64 e o ADB retorna INSTALL_FAILED_NO_MATCHING_ABIS. Exemplos de comando estão em tamanho de arquivo e arquitetura de APK.

Como verificar a sua versão do Android

Abra Configurações, role até Sobre o telefone ou Sobre o tablet e leia Versão do Android. Toque no número da versão se quiser o Easter egg, mas é o número que você precisa. Mapeie-o com a tabela acima.

Em uma TV o caminho difere um pouco: Configurações e depois Preferências do dispositivo ou Sistema e depois Sobre. No Wear OS: Configurações, depois Sistema, depois Sobre. O mesmo número vale em toda parte, porque ele vem da mesma base do Android.

Se a tela de configurações mostra apenas um número de build, você está olhando uma linha baixa demais. Compatibilidade lê a versão do Android, não a data do patch de segurança.

O que fazer se um APK precisar de um Android mais novo

Três opções, em ordem de frequência com que funcionam:

  1. Atualizar o aparelho. Configurações, Sistema, Atualização do sistema. Aparelhos lançados nos últimos três anos costumam receber de dois a três anos de atualizações, então um celular de 2022 pode já estar no teto.
  2. Fazer downgrade para uma versão mais antiga do app. O release anterior costumava declarar um mínimo menor. Instale-o a partir de um arquivo, mantendo a assinatura consistente com a cópia que já está no aparelho, ou desinstale primeiro.
  3. Usar um emulador. Em um computador, uma imagem de emulador roda qualquer nível de API atual, o que a torna a resposta quando o celular está preso. Veja o guia para PC para a configuração.

Não tente modificar o minSdkVersion remontando o manifest. Um APK reempacotado falha na verificação de assinatura e é rejeitado com INSTALL_FAILED_UPDATE_INCOMPATIBLE.

Como fazer downgrade para uma versão anterior do app

Para voltar um app, você remove a cópia mais nova primeiro e depois instala um release mais antigo assinado com a mesma chave, porque o Android se recusa a colocar um version code menor por cima de um maior e retorna o erro INSTALL_FAILED_VERSION_DOWNGRADE quando você tenta. Desinstalar primeiro limpa tanto a verificação de versão quanto os dados salvos.

  1. Desinstale o app. Configurações, depois Apps, depois o app, depois Desinstalar. Para um app de sistema, escolha Desinstalar atualizações, que restaura a versão de fábrica.
  2. Confirme a chave de assinatura. Um release mais antigo assinado com outra chave falha com INSTALL_FAILED_UPDATE_INCOMPATIBLE, que é o que acontece depois que um desenvolvedor ativa o Play App Signing.
  3. Instale o pacote mais antigo. Execute adb install old-app.apk ou abra o arquivo em um gerenciador de arquivos no celular.
  4. Espere perda de dados. A desinstalação remove logins e saves, então exporte o que puder antes do passo 1.

Builds depuráveis também aceitam a flag adb install -d, que afrouxa a verificação de versão para pacotes que a permitem. Builds de release raramente permitem, então desinstalar continua sendo a rota confiável. Versões anteriores vivem nos arquivos, e como atualizar arquivos APK lista a ordem segura.

O que fazer se um APK precisar de um Android mais antigo

Quase nunca é um problema. Apps que declaram um piso abaixo da sua versão rodam bem, porque o Android roda apps novos em comportamento antigo pelo condicionamento do targetSdkVersion. As raras falhas são recursos de hardware que o app declara como obrigatórios, como uma câmera ou um sensor específicos, o que é um desalinhamento de aparelho e não de versão. A lista de conferência de permissões em como verificar permissões de APK cobre essa inspeção.

Teste o seu aparelho contra a lista completa de suporte de aparelhos e depois rode a verificação de versão acima no app que você realmente quer.

Pontos principais

  • Dois números do manifest decidem a compatibilidade: minSdkVersion bloqueia a instalação e targetSdkVersion muda o comportamento.
  • Android 10 = API 29 até Android 17 = API 37, lançado em 16 de junho de 2026.
  • INSTALL_FAILED_OLDER_SDK significa que o seu aparelho está abaixo do mínimo do app. Não existe como contornar.
  • A partir de 31 de agosto de 2026, apps do Play Store abaixo da API 35 perdem alcance em aparelhos Android mais novos.

Perguntas frequentes

Qual versão do Android eu preciso para instalar um APK?

Qualquer aquela que o app declara como SDK mínimo. Esse número aparece na página do Play Store em Requer Android e dentro do manifest do APK como minSdkVersion. Se a versão do Android do seu aparelho for mais antiga, o instalador recusa o pacote.

O Android 10 consegue instalar um APK compilado para o Android 14?

Somente se o desenvolvedor definir o mínimo como Android 10 ou inferior. Apps que declaram API 34 como piso reportam INSTALL_FAILED_OLDER_SDK no Android 10, e nenhuma configuração contorna essa verificação.

O que é a versão mínima de SDK?

minSdkVersion é a versão mais antiga do Android que o app suporta. O Android compara com o nível de API do aparelho antes de instalar e recusa o pacote quando o aparelho está abaixo do piso. Não pode ser alterada depois que o APK é compilado.

O que é a versão alvo de SDK?

targetSdkVersion é a versão do Android contra a qual o desenvolvedor testou. Ela não bloqueia a instalação. Ela liga e desliga comportamentos da plataforma, e é por isso que apps antigos podem rodar em Android novo e ainda assim reprovarem nas políticas do Play Store.

Como verifico o requisito de Android de um APK?

Leia Requer Android na página do Play Store, ou confira a página de download de um arquivo de APK. Para um arquivo local, abra-o no APK Analyzer do Android Studio e leia o valor do minSdkVersion no manifest.

Como verifico a minha versão do Android?

Abra Configurações e depois Sobre o telefone e leia a entrada Versão do Android. Os números da linha seguinte, o número da build, não importam para compatibilidade. Compare a sua versão do Android com a tabela deste guia.

Por que um APK não instala na minha versão do Android?

A causa habitual é um SDK mínimo acima do seu aparelho. Outras causas são um choque de assinatura com uma cópia instalada, uma incompatibilidade de arquitetura de CPU, ou um SDK alvo tão antigo que versões recentes do Android bloqueiam a instalação de imediato.

Consigo instalar um APK antigo em um Android mais novo?

Normalmente sim. O Android mantém a maioria dos apps funcionando entre versões, com mudanças de comportamento condicionadas pelo targetSdkVersion. As exceções são apps que usam APIs que o Google removeu, que travam ou perdem recursos em vez de recusar a instalação.

Consigo instalar um APK novo em um Android mais antigo?

Não, quando o mínimo do APK excede o seu aparelho. O instalador para antes de copiar um único arquivo. As suas opções são uma versão mais antiga do app, uma atualização do Android, ou rodá-lo em um emulador com uma imagem mais nova.

Qual versão do Android suporta todos os APKs?

A mais nova, desde que o seu nível de API atenda ou supere o mínimo de cada app. Android 17, API 37, lançado em 16 de junho de 2026, roda os releases atuais e a maioria dos mais antigos, embora apps muito antigos possam quebrar por APIs removidas.

O que é um nível de API?

Um nível de API é o inteiro que o Google atribui a cada versão do Android, começando em 1 e agora em 37. Os apps declaram números de API em vez de nomes de versão, então minSdkVersion 35 sempre significa Android 15, independentemente do rótulo de marketing.

O Play Store bloqueia apps antigos?

Sim, cada vez mais. A partir de 31 de agosto de 2026, apps novos devem mirar a API 36, e apps ainda abaixo da API 35 deixam de ser oferecidos a novos usuários em aparelhos que rodarem qualquer versão mais nova que a deles.

Parte do guia completo

Guia de Compatibilidade de APK: Quais Aparelhos Rodam APKs?

Também em APK compatibility: