Vereist doel-API-niveau op Google Play: waarop richt jouw bundle zich?
Google Play hanteert een harde ondergrens voor targetSdkVersion, en die stijgt elk jaar. Onder die grens blokkeert de Play Console het uploaden ronduit — dat is niet het oordeel van een beoordelaar, dat is een poort. Deze pagina geeft de huidige drempel, het jaarlijkse schema en hoe je uitleest waarop je .aab of .apk zich echt richt, vóór je er op de harde manier achter komt.
Laatst gecontroleerd op 24 juli 2026.
De huidige ondergrens en het jaarlijkse schema
De regel van Google is mechanisch: je app moet zich richten op een API-niveau van binnen een jaar na de laatste grote Android-release. Elk najaar verschijnt er een nieuwe grote versie, dus rond 31 augustus van elk jaar gaat de vereiste ondergrens één stap omhoog. Het geldt voor nieuwe apps en voor elke update van een bestaande app — je kunt geen nieuwe build publiceren die onder de grens zit.
Bestaande apps die je niet bijwerkt krijgen meer aanloop, maar moeten uiteindelijk voldoen om beschikbaar te blijven op nieuwere toestellen. Dit is het schema zoals het nu staat:
| Vanaf | Nieuwe apps en updates moeten zich richten op | Bestaande apps moeten zich richten op |
|---|---|---|
| 31 aug. 2024 | API 34 (Android 14) | API 34 om vindbaar te blijven |
| 31 aug. 2025 | API 35 (Android 15) | — |
| 31 aug. 2026 | API 36 (Android 16) | API 35 (Android 15) of hoger |
targetSdkVersion vs minSdkVersion vs compileSdkVersion
Ontwikkelaars halen deze drie geregeld door elkaar, en maar één ervan handhaaft Play. Ze worden onafhankelijk ingesteld in build.gradle:
| Eigenschap | Wat het bepaalt | Regel van Play? |
|---|---|---|
targetSdkVersion | Het API-niveau waarvoor je app verklaart gebouwd en getest te zijn. Het schakelt de gedragswijzigingen van die versie in. Dit is wat Play controleert. | Ja — harde ondergrens. |
minSdkVersion | De oudste Android-versie waarop de app installeert. Lager = meer oude toestellen, meer verouderde codepaden. | Nee. |
compileSdkVersion | Het API-niveau waartegen de code wordt gecompileerd: welke API's de compiler ziet. Meestal gelijk aan of hoger dan target. | Nee, maar moet ≥ target zijn om te bouwen. |
Je kunt (en doet dat vaak) een lage minSdkVersion houden voor bereik en je tegelijk richten op het nieuwste API-niveau om Play tevreden te stellen — die twee staan los van elkaar. targetSdkVersion verhogen betekent dat je de gedragswijzigingen van de nieuwe versie moet afvangen; het laat geen oude toestellen vallen (dat is minSdkVersion).
De exacte foutmelding van de Play Console
Richt een .aab zich onder de ondergrens, dan blokkeert de Play Console de release met een melding in deze vorm:
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.
Het is een fout die de release blokkeert, geen waarschuwing: de bundle wordt niet geüpload. De twee getallen in de melding zijn je huidige doel en de vereiste ondergrens; de oplossing is targetSdkVersion in build.gradle naar het vereiste niveau tillen en opnieuw bouwen.
targetSdkVersion uitlezen uit een .aab / .apk zonder Android Studio
Je hebt geen volledige Android Studio-build nodig om te controleren waarop een bundle zich richt. De waarde staat in het manifest — maar het manifest in een gebouwd artefact is binair gecodeerd (AXML in een APK, protobuf in een AAB), dus `unzip` + `cat` werkt niet. Gebruik in plaats daarvan de commandoregelhulpmiddelen van de SDK.
Voor een .apk
# aapt (of aapt2) decodeert het binaire manifest aapt dump badging app.apk | grep -o "targetSdkVersion:'[0-9]*'" # -> targetSdkVersion:'35' # of apkanalyzer (zit bij de cmdline-tools van de Android SDK) apkanalyzer manifest target-sdk app.apk # -> 35
Voor een .aab (App Bundle)
# bundletool leest het protobuf-manifest via XPath java -jar bundletool.jar dump manifest --bundle=app.aab \ --xpath=/manifest/uses-sdk/@android:targetSdkVersion # -> 35
aapt, aapt2 en apkanalyzer zitten in de build-tools / cmdline-tools van de Android SDK; bundletool is een losse jar van Google. Geen van alle bouwt of draait de app — ze decoderen alleen het manifest, dus de controle duurt een seconde op elke machine met een JDK.
De route van het jaar uitstel
Kun je de deadline van 31 augustus echt niet halen, dan biedt Google een eenmalig uitstel dat je aanvraagt vanuit de Play Console — het schuift je deadline naar 1 november van hetzelfde jaar. Het is bedoeld voor echte technische blokkades, niet voor gewone vertraging:
- Je vraagt het per app aan in de Play Console vóór de deadline verstrijkt — er verschijnt een aparte flow zodra je app als niet-conform is gemarkeerd.
- Het levert ongeveer twee extra maanden op (tot 1 november), geen extra jaar.
- Het dient om een bestaande app beschikbaar te houden; het laat je intussen geen updates publiceren die onder de ondergrens zitten.
- Het is bedoeld voor legitieme gevallen (een afhankelijkheid die nog niet compatibel is, een grote migratie). Google kan aanvragen afwijzen die op uitstelgedrag lijken.
Het uitstel is uitstel van executie, geen oplossing — het enige duurzame antwoord is targetSdkVersion verhogen en de gedragswijzigingen van de nieuwe versie afvangen.
Veelgestelde vragen
Welk doel-API-niveau eist Google Play op dit moment?
In het venster 2025-2026 moeten nieuwe apps en updates zich richten op minimaal API-niveau 35 (Android 15). Vanaf 31 augustus 2026 gaat de ondergrens voor nieuwe apps en updates naar API 36 (Android 16), en bestaande apps moeten zich op minimaal API 35 richten om beschikbaar te blijven op nieuwere toestellen.
Laat targetSdkVersion verhogen oude telefoons vallen?
Nee. Ondersteuning van oude toestellen wordt bepaald door minSdkVersion, en dat staat er los van. Je kunt een lage minSdkVersion houden en toch targetSdkVersion verhogen om aan Play te voldoen. Het doel verhogen betekent wel dat je de gedragswijzigingen van de nieuwe Android-versie moet afvangen.
De Play Console zegt dat mijn doel te laag is, maar Android Studio toont het juiste getal. Hoe kan dat?
Controleer de waarde in het daadwerkelijk gebouwde artefact, niet alleen in de broncode. Een product flavor, een manifest-override of een oude build kan een lagere targetSdkVersion meesturen dan je build.gradle suggereert. Lees hem rechtstreeks uit de .aab/.apk met bundletool of aapt om te zien wat je echt hebt geüpload.
Kan ik meer tijd krijgen na 31 augustus?
Ja — de Play Console biedt eenmalig uitstel tot 1 november van hetzelfde jaar voor apps die de deadline niet halen. Het is voor legitieme technische blokkades en houdt alleen de bestaande app beschikbaar; het staat geen updates onder de ondergrens toe.
Is de doel-API-eis hetzelfde als een afwijzing bij de beoordeling?
Nee. Het is een automatische uploadpoort in de Play Console, die vóór elke beoordeling werkt. Er komt geen beoordelaar aan te pas: de bundle gaat simpelweg niet omhoog zolang targetSdkVersion de ondergrens niet haalt.
Ook interessant: Waarom Google Play apps afwijst · Checklist voor het indienen van een Android-app
Bronnen
Controleer je build voordat je indient
Haal je .ipa of .apk door App Review Checker en vang deze problemen op in seconden.
Controleer een app