Die Anforderung zum Target API Level 36 bei Google Play bedeutet: Ein Release, das auf eine Version unter Android 16 abzielt, kann nicht veröffentlicht werden. Stand Oktober 2026 lehnt Play jede neue App und jedes Update mit niedrigerem Ziellevel ab, oft mit der Meldung Target SDK of artifact is too low. Apps mit einer Richtlinienwarnung konnten mehr Zeit beantragen, doch die Verlängerung endet am 1. November 2026. Dieser Leitfaden zeigt, was die Verlängerung noch bringt, wie Sie Expo, Flutter und React Native auf API 36 umstellen und was danach typischerweise kaputtgeht.
Was blockiert die Anforderung zum Target API Level 36 konkret?
Sie blockiert Einreichungen. Seit dem 31. August 2026 können Sie eine neue Smartphone-App oder ein Update nur hochladen, wenn es auf API 36 abzielt. Bereits veröffentlichte Apps, die auf API 35 oder höher abzielen, bleiben vollständig verfügbar, auch für neue Nutzer.
Laut Googles Anforderungen an das Target API Level müssen „neue Apps und App-Updates auf Android 16 (API Level 36) oder höher abzielen, um bei Google Play eingereicht werden zu können“. Die Anforderungen unterscheiden sich je nach Geräteformat, und die einzige vollständige Ausnahme gilt für dauerhaft private Apps, die nur intern in einer Organisation verteilt werden.
| Geräteformat | Neue Apps und Updates (ab 31.08.2026) | Bestehende Apps bleiben voll verfügbar bei Ziel |
|---|---|---|
| Smartphone, Tablet, Android Auto | API 36 | API 35 oder höher |
| Wear OS | API 35 | API 34 oder höher |
| Android Automotive OS | API 35 | API 32 oder höher |
| Android TV | API 34 | API 33 oder höher |
| Android XR | API 34 | API 34 oder höher |
Eine bestehende App unter diesen Levels „ist nur noch auf Geräten verfügbar, deren Android-Version gleich oder niedriger als das Target API Level der App ist“. Wer sie bereits installiert hat, kann sie weiter wie gewohnt nutzen. Auf einem neueren Smartphone erfährt man dagegen, dass die App „für eine ältere Android-Version entwickelt wurde“.
Können Sie die Verlängerung vor dem 1. November 2026 noch bekommen?
Nur wenn Play Ihrer App eine Richtlinienwarnung geschickt hat und das Antragsformular dort noch angezeigt wird. Selbst dann gilt die Verlängerung höchstens bis zum 1. November 2026. Sie verschafft also ein paar zusätzliche Tage für einen fast fertigen Fix, aber keinen neuen Zeitplan.
Google gibt an, betroffenen Apps „einen Link zum Formular für den Verlängerungsantrag über die Benachrichtigungen“ zu senden, und das Formular sei „über die Detailseite der Warnung oder des Problems auf der Seite ‚Richtlinienstatus‘ verfügbar“. Apps, die die Anforderung bereits erfüllen, zeigt Google kein Formular an.
- Öffnen Sie die Play Console und wählen Sie die App aus.
- Suchen Sie im Posteingang oder in den Benachrichtigungen nach der Meldung zum Target API Level. Falls vorhanden, folgen Sie dem Link.
- Falls nicht, öffnen Sie „Richtlinienstatus“, rufen die Warnung oder das Problem zum Target API Level auf und suchen auf der Detailseite nach dem Formular für den Verlängerungsantrag.
- Füllen Sie das Formular für jede betroffene App aus. Jede App hat ihre eigene Warnung.
- Ob die Verlängerung gewährt wird oder nicht: Planen Sie, vor dem 1. November 2026 einen API-36-Build hochzuladen. Nach diesem Datum erfordern Updates API 36.
Wie stellen Sie Expo, Flutter und React Native auf API 36 um?
Der sauberste Weg ist ein Upgrade auf eine Framework-Version, die bereits auf API 36 abzielt: Expo SDK 54, React Native 0.81 oder Flutter 3.38. Wenn ein Upgrade noch nicht möglich ist, können Sie die Zahl von Hand erhöhen, müssen sich dann aber selbst um die Verhaltensänderungen von Android 16 kümmern.
| Stack | Zielt standardmäßig auf API 36 ab ab | Wo die Zahl steht | Manueller Weg ohne Upgrade |
|---|---|---|---|
| Expo (managed / CNG) | SDK 54 (React Native 0.81) | Wird von prebuild erzeugt; mit expo-build-properties überschreiben | targetSdkVersion: 36 und compileSdkVersion: 36 im Plugin expo-build-properties |
| React Native (bare) | 0.81 | android/build.gradle | compileSdk und targetSdk auf 36 setzen, dann Predictive Back im Manifest deaktivieren |
| Flutter | 3.38 (flutter.targetSdkVersion = 36) | android/app/build.gradle(.kts) | Eine fest eingetragene 35 durch 36 oder durch flutter.targetSdkVersion ersetzen |
Expo. Laut Changelog zu SDK 54 zielen SDK 54 und React Native 0.81 „jetzt auf Android 16 ab“. Führen Sie das Upgrade mit npx expo install expo@^54.0.0 --fix durch, starten Sie npx expo-doctor@latest und, falls Sie Continuous Native Generation nutzen: „Löschen Sie die Verzeichnisse android und ios, wenn Sie sie für eine frühere SDK-Version erzeugt haben.“ Unter SDK 53 können Sie versuchen, targetSdkVersion: 36 über das Plugin expo-build-properties zu setzen. React Native 0.79 verarbeitet die Zurück-Aktion aber noch über onBackPressed, lesen Sie also den nächsten Abschnitt, bevor Sie das ausliefern.
Flutter. Die Release Notes zu Flutter 3.38 nennen als Standardwerte flutter.compileSdkVersion (API 36) und flutter.targetSdkVersion (API 36) und „empfehlen dringend, in Ihren Build-Dateien die vom Flutter SDK bereitgestellten API-Level-Variablen zu verwenden“. Version 3.38 benötigt außerdem mindestens Java 17. Ist targetSdk = 35 in Ihrem App-Modul fest eingetragen, ändert das Flutter-Upgrade daran nichts, prüfen Sie also die Datei.
Bare React Native. Setzen Sie compileSdkVersion und targetSdkVersion in android/build.gradle auf 36. Ab 0.81 sind Sie damit weitgehend fertig. Bei älteren Versionen ergänzen Sie zusätzlich android:enableOnBackInvokedCallback="false" im Element <application> der AndroidManifest.xml. Ohne diese Einstellung umgehen Hardware-Zurück-Taste und Zurück-Geste Ihre JavaScript-Navigation.
Was geht kaputt, wenn eine App auf Android 16 abzielt?
Am häufigsten brechen Zurück-Navigation und Layouts für große Bildschirme. Mit API 36 als Ziel ruft Android onBackPressed nicht mehr auf, lässt kein Opt-out aus Edge-to-Edge mehr zu und ignoriert Ausrichtungs- und Größenänderungssperren auf Displays mit mindestens 600dp Breite.
Die für plattformübergreifende Apps wichtigsten Änderungen aus Googles Verhaltensänderungen in Android 16:
- Predictive Back: „
onBackPressedwird nicht aufgerufen undKeyEvent.KEYCODE_BACKwird nicht mehr ausgelöst.“ Die Einstellungandroid:enableOnBackInvokedCallback="false"ist ein vorübergehendes Opt-out. - Edge-to-Edge:
windowOptOutEdgeToEdgeEnforcementist „veraltet und deaktiviert“, sodass ein Header oder ein Button am unteren Rand unter der Statusleiste oder der Gestenleiste landen kann. - Große Bildschirme: Auf Displays ab 600dp Breite werden
screenOrientation,resizableActivityund Seitenverhältnisgrenzen ignoriert, was reine Hochformat-Layouts strecken kann. Spiele sind ausgenommen.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITYist ein vorübergehendes Opt-out, das „nicht mehr greift, wenn auf API Level 37 abgezielt wird“. - Text:
elegantTextHeightwird ignoriert, was die Zeilenhöhe bei Arabisch, Thai, Tamil und mehreren anderen Schriften verändern kann. - Gesundheitssensoren:
BODY_SENSORSwird durch granulare Gesundheitsberechtigungen wieREAD_HEART_RATEersetzt.
Auf welche Probleme sind andere Entwickler beim Umstieg auf API 36 gestoßen?
Die bisherigen öffentlichen Berichte zeigen zwei Arten von Problemen: ein Verhalten der Zurück-Taste, das sich ohne jede Fehlermeldung ändert, und Bibliotheken, durch die das Ziellevel des bei Play ankommenden Bundles von dem in den Projektdateien abweicht.
Audius (React Native 0.79). In Pull Request #14635 berichtet das Audius-Team, dass Google Play beide Uploads der Android-Version 1.5.186 mit Target SDK of artifact is too low abgelehnt hat. Sie hoben compileSdk und targetSdk von 35 auf 36 an, setzten die Build Tools auf 36.0.0 und ergänzten android.suppressUnsupportedCompileSdk=36, weil „RN 0.79 AGP 8.8 festschreibt“. Außerdem setzten sie enableOnBackInvokedCallback="false", da die Zurück-Aktion sonst „React Navigation umgehen würde“. Ein späterer PR entfernte dieses Opt-out nach dem Umstieg auf React Native 0.81, das selbst einen OnBackPressedCallback registriert.
Eine Flutter-3.35.2-App. In Flutter-Issue #174516 setzte ein Entwickler targetSdk 36 in Gradle und im Manifest, doch die Play Console meldete weiterhin "Your bundle targets SDK 34, but uses a Play Core library that cannot be used with that version." Das Entfernen der alten Bibliothek com.google.android.play:core:1.10.3 führte zu R8-Fehlern „Missing classes“. Deren Behebung führte zu "You can't rollout this release because it doesn't allow any existing users to upgrade to the newly added app bundles." Akzeptiert wurde das Bundle schließlich, nachdem ProGuard-Keep-Regeln hinzugefügt, minSdk explizit gesetzt und Sprach-, Dichte- und ABI-Splits deaktiviert wurden, auf Kosten eines größeren Downloads.
Die gemeinsame Lehre: Die Zahl in Gradle zu ändern, reicht nicht. Audius musste Laufzeitverhalten korrigieren, der Flutter-Entwickler eine Abhängigkeit, die veränderte, was Play aus dem Bundle ausliest. Prüfen Sie das gebaute Artefakt und testen Sie auf einem Android-16-Gerät, nicht nur die Konfigurationsdatei.
Wie prüfen Sie einen API-36-Build vor dem Upload?
Lesen Sie das Ziellevel direkt aus dem Release-Bundle aus, laden Sie das Bundle dann in einen internen oder geschlossenen Test-Track und testen Sie unter Android 16 Zurück-Navigation, Insets und ein Tablet-Layout. Eine Ablehnung oder ein Fehler in Produktion kostet weit mehr Zeit als diese Prüfungen.
Praxisbeispiel: eine Expo-SDK-53-App, die auf API 35 abzielt und noch ein Update braucht.
- Führen Sie
npx expo install expo@^54.0.0 --fixund anschließendnpx expo-doctor@latestaus und beheben Sie alles, was gemeldet wird. - Nutzt das Projekt Continuous Native Generation, löschen Sie die alten Ordner
androidundiosund bauen Sie neu. Andernfalls übernehmen Sie die nativen Upgrade-Änderungen von Hand. - Bauen Sie das Release-AAB, zum Beispiel mit
eas build -p android --profile production. - Bestätigen Sie das Ziel mit
bundletool dump manifest --bundle app.aab --xpath /manifest/uses-sdk/@android:targetSdkVersion. Die Ausgabe sollte36lauten. - Laden Sie den Build in den internen Test hoch. Drücken Sie auf einem Android-16-Smartphone auf jedem verschachtelten Bildschirm „Zurück“, prüfen Sie, dass Header und Buttons am unteren Rand nicht unter den Systemleisten verschwinden, und drehen Sie ein Tablet oder einen größenveränderbaren Emulator.
- Stufen Sie den Build in die Produktion hoch, mit Versionshinweisen, die die Android-16-Korrekturen erwähnen.
Für schnellere Tests nutzen Sie das Tester-Setup aus unserem Leitfaden zu geschlossenen Tests bei Google Play und übernehmen Formulierungen für den Update-Text aus unseren Beispielen für Versionshinweise. Wenn Sie das Release lieber abgeben möchten: Unser Service für die App-Store-Einreichung deckt Play Console und App Store Connect für $599 für beide Stores ab. Die Gebühren für Entwicklerkonten kommen separat hinzu.
Häufig gestellte Fragen
Was passiert, wenn ich die Verlängerung zum Target API Level bis 1. November 2026 verpasse?
Ihr aktueller Store-Eintrag bleibt bestehen. Eine Smartphone-App mit Ziel API 35 oder höher ist weiterhin für bestehende und neue Nutzer verfügbar. Die Play Console lehnt jedoch jedes neue Release ab, auch dringende Bugfixes, bis das Bundle auf Android 16 (API 36) abzielt. Apps unter API 35 lassen sich nur auf Geräten mit dieser oder einer älteren Android-Version installieren.
Müssen Wear-OS- und Android-TV-Apps auf API 36 abzielen?
Nein. Stand Oktober 2026 müssen neue Apps und Updates für Wear OS und Android Automotive OS auf API 35 abzielen, Apps für Android TV und Android XR auf API 34. Nur Smartphone-, Tablet- und Android-Auto-Apps benötigen API 36. Die einzige vollständige Ausnahme ist eine dauerhaft private App, die innerhalb einer Organisation verteilt wird.
Kann ich auf API 36 abzielen, ohne mein Expo SDK zu aktualisieren?
Unter SDK 53 können Sie targetSdkVersion und compileSdkVersion im Plugin expo-build-properties auf 36 setzen, und manche Entwickler haben das getan. React Native 0.79, das SDK 53 verwendet, leitet Zurück-Aktionen aber noch über onBackPressed, und Android 16 ruft diese Methode bei API 36 nicht mehr auf. Sie müssten das Verhalten mit enableOnBackInvokedCallback auf false deaktivieren. Der unterstützte Weg ist das Upgrade auf SDK 54.
Was ist der Unterschied zwischen compileSdkVersion und targetSdkVersion?
compileSdkVersion ist die Android-API-Version, gegen die Ihr Code kompiliert wird. targetSdkVersion teilt Android mit, welches Versionsverhalten Ihre App übernommen hat, und wird von Google Play durchgesetzt. compileSdk muss gleich oder höher als targetSdk sein; wer also auf 36 abzielt, muss gegen API 36 oder höher kompilieren. Expo SDK 58 etwa kompiliert gegen 37 und zielt auf 36 ab.
Warum meldet die Play Console nach der Änderung in build.gradle immer noch ein älteres API Level?
Play liest das Ziellevel aus dem hochgeladenen Bundle, nicht aus Ihren Quelldateien. Ein fest eingetragener Wert in einem anderen Modul, ein veraltetes Plugin oder eine Bibliothek wie das alte Play Core kann das zusammengeführte Manifest verändern. Führen Sie bundletool dump manifest auf dem Release-AAB aus, um die tatsächliche targetSdkVersion zu sehen, und stellen Sie sicher, dass Sie den neuen Build hochgeladen haben und kein altes Artefakt.
Quellen & weiterführende Links
Richtlinien ändern sich. Prüfe vor der Einreichung die offizielle Dokumentation.
- Anforderungen an das Target API Level für Google-Play-Apps (Play Console-Hilfe) ↗Geprüft am 30. Okt. 2026
- Verhaltensänderungen: Apps, die auf Android 16 oder höher abzielen (Android Developers) ↗Geprüft am 30. Okt. 2026
- Changelog zu Expo SDK 54 ↗Geprüft am 30. Okt. 2026
- Neuerungen in Flutter 3.38 ↗Geprüft am 30. Okt. 2026
- fix(mobile): target Android SDK 36, AudiusProject/apps PR #14635 ↗Geprüft am 30. Okt. 2026
- Flutter 3.35.2 erzwingt SDK 34 trotz expliziter Überschreibungen, flutter/flutter Issue #174516 ↗Geprüft am 30. Okt. 2026
Bringen wir deine App ins Ziel.
Ein fokussiertes Gespräch, um herauszufinden, was zwischen deiner App und einem Live-Eintrag im Store steht.
Gespräch buchen ↗

