Exigência de nível de API de destino no Google Play: para onde aponta o seu bundle?
O Google Play impõe um piso rígido para o targetSdkVersion, e ele sobe todo ano. Abaixo do piso, o Play Console bloqueia o envio de saída — não é o julgamento de um revisor, é uma catraca. Esta página traz o limite atual, o calendário anual e como ler para onde o seu .aab ou .apk realmente aponta antes de descobrir do jeito difícil.
Última revisão: 24 de julho de 2026.
O piso atual e o calendário anual
A regra do Google é mecânica: seu app precisa apontar para um nível de API dentro de um ano do último lançamento maior do Android. Uma versão maior sai todo outono, então por volta de 31 de agosto de cada ano o piso exigido sobe um degrau. Vale para apps novos e para toda atualização de um app existente — não dá para publicar uma build que aponte abaixo do piso.
Apps existentes que você não atualiza ganham mais fôlego, mas em algum momento precisam se adequar para continuarem disponíveis em aparelhos mais novos. Este é o calendário como está:
| A partir de | Apps novos e atualizações devem apontar para | Apps existentes devem apontar para |
|---|---|---|
| 31 ago. 2024 | API 34 (Android 14) | API 34 para continuarem descobríveis |
| 31 ago. 2025 | API 35 (Android 15) | — |
| 31 ago. 2026 | API 36 (Android 16) | API 35 (Android 15) ou superior |
targetSdkVersion vs minSdkVersion vs compileSdkVersion
Desenvolvedores confundem esses três com frequência, e só um deles é o que o Play cobra. Eles são definidos de forma independente no build.gradle:
| Propriedade | O que controla | Regra do Play? |
|---|---|---|
targetSdkVersion | O nível de API para o qual seu app declara ter sido construído e testado. Ele liga as mudanças de comportamento daquela versão. É este que o Play fiscaliza. | Sim — piso rígido. |
minSdkVersion | A versão mais antiga do Android em que o app instala. Mais baixa = mais aparelhos antigos, mais caminhos de código legado. | Não. |
compileSdkVersion | O nível de API contra o qual o código é compilado: quais APIs o compilador enxerga. Em geral igual ou acima do destino. | Não, mas precisa ser ≥ destino para compilar. |
Você pode (e costuma) manter um minSdkVersion baixo para alcance e ao mesmo tempo apontar para o último nível de API para atender ao Play — os dois não têm relação. Subir o targetSdkVersion significa que você precisa tratar as mudanças de comportamento da nova versão; não derruba o suporte a aparelhos antigos (isso é o minSdkVersion).
O erro exato do Play Console
Quando um .aab aponta abaixo do piso, o Play Console bloqueia a versão com uma mensagem nesta forma:
Your app currently targets API level 34 and must target at least API level 35 to ensure it is built on the latest APIs optimized for security and performance. To upload an app bundle it must target API level 35 or higher.
É um erro que bloqueia a publicação, não um aviso: o bundle não sobe. Os dois números da mensagem são o seu destino atual e o piso exigido; a correção é subir o targetSdkVersion para o nível pedido no build.gradle e recompilar.
Como ler o targetSdkVersion de um .aab / .apk sem o Android Studio
Você não precisa de uma compilação completa no Android Studio para verificar para onde um bundle aponta. O valor está no manifesto — mas o manifesto dentro de um artefato compilado é codificado em binário (AXML no APK, protobuf no AAB), então `unzip` + `cat` não resolve. Use as ferramentas de linha de comando do SDK.
Para um .apk
# aapt (ou aapt2) decodifica o manifesto binario aapt dump badging app.apk | grep -o "targetSdkVersion:'[0-9]*'" # -> targetSdkVersion:'35' # ou apkanalyzer (vem com as cmdline-tools do SDK do Android) apkanalyzer manifest target-sdk app.apk # -> 35
Para um .aab (App Bundle)
# bundletool le o manifesto protobuf via XPath java -jar bundletool.jar dump manifest --bundle=app.aab \ --xpath=/manifest/uses-sdk/@android:targetSdkVersion # -> 35
aapt, aapt2 e apkanalyzer ficam nas build-tools / cmdline-tools do SDK do Android; o bundletool é um jar avulso do Google. Nenhum deles compila nem executa o app — só decodificam o manifesto, então a checagem leva um segundo em qualquer máquina com JDK.
O caminho da prorrogação
Se você realmente não consegue cumprir o prazo de 31 de agosto, o Google oferece uma prorrogação única solicitada pelo Play Console — ela empurra o seu prazo para 1º de novembro do mesmo ano. Foi pensada para travas técnicas reais, não para atraso de rotina:
- Você solicita por app no Play Console antes de o prazo vencer — surge um fluxo dedicado quando seu app é marcado como não conforme.
- Ela dá cerca de dois meses a mais (até 1º de novembro), não outro ano.
- Serve para manter um app existente disponível; não permite publicar, nesse meio-tempo, atualizações que apontem abaixo do piso.
- É voltada a casos legítimos (uma dependência ainda incompatível, uma migração grande). O Google pode negar pedidos que pareçam enrolação.
A prorrogação é um adiamento, não uma correção — a única resposta duradoura é subir o targetSdkVersion e tratar as mudanças de comportamento da nova versão.
Perguntas frequentes
Qual nível de API de destino o Google Play exige agora?
Na janela 2025-2026, apps novos e atualizações precisam apontar para no mínimo o nível de API 35 (Android 15). A partir de 31 de agosto de 2026 o piso para apps novos e atualizações sobe para a API 36 (Android 16), e apps existentes precisam apontar para pelo menos a API 35 para continuarem disponíveis em aparelhos mais novos.
Subir o targetSdkVersion derruba os celulares antigos?
Não. O suporte a aparelhos antigos é controlado pelo minSdkVersion, que é independente. Você pode manter um minSdkVersion baixo e ainda assim subir o targetSdkVersion para atender ao Play. Subir o destino, isso sim, exige tratar as mudanças de comportamento da nova versão do Android.
O Play Console diz que meu destino está baixo demais, mas o Android Studio mostra o número certo. Por quê?
Confira o valor no artefato realmente compilado, não só no código-fonte. Um product flavor, uma sobrescrita de manifesto ou uma build antiga podem publicar um targetSdkVersion menor do que o seu build.gradle sugere. Leia direto do .aab/.apk com bundletool ou aapt para ver o que você realmente enviou.
Consigo mais tempo depois de 31 de agosto?
Sim — o Play Console oferece uma prorrogação única até 1º de novembro do mesmo ano para apps que não conseguem cumprir o prazo. É para travas técnicas legítimas e apenas mantém o app existente disponível; não libera atualizações abaixo do piso.
A exigência de API de destino é a mesma coisa que uma recusa na revisão?
Não. É uma catraca automática de envio no Play Console, aplicada antes de qualquer revisão. Nenhum revisor participa — o bundle simplesmente não sobe enquanto o targetSdkVersion não alcançar o piso.
Veja também: Por que o Google Play recusa apps · Checklist de envio para Android
Fontes
Verifique sua build antes de enviar
Passe seu .ipa ou .apk pelo App Review Checker e pegue esses problemas em segundos.
Verificar um app