Erfüllt die Anforderungen an das Ziel-API-Level von Google Play

Wenn du ein APK hochlädst, muss es die Anforderungen von Google Play an das Ziel-API-Level erfüllen.

Ab dem 31. August 2024 gilt Folgendes:

  • Neue Apps und App-Updates müssen auf Android 14 (API-Level 34) oder höher ausgerichtet sein, damit sie bei Google Play eingereicht werden können. Eine Ausnahme bilden Wear OS- und Android TV-Apps, die auf Android 13 (API-Level 33) oder höher ausgerichtet sind.
  • Vorhandene Apps müssen auf Android 13 (API-Level 33) oder höher ausgerichtet sein, damit sie auch weiterhin für neue Nutzer mit Geräten mit einem Android-Betriebssystem verfügbar sind, das höher als das Ziel-API-Level deiner App ist. Apps, die auf Android 12 (API-Level 31) oder niedriger (Android 10 (API-Level 29) oder niedriger für Wear OS und Android 11 (API-Level 30) oder niedriger für Android TV) ausgerichtet sind, sind nur auf Geräten mit Android-Betriebssystem verfügbar, die dem Ziel-API-Level deiner App entsprechen oder niedriger sind.

Wenn du mehr Zeit zum Aktualisieren deiner App benötigst, kannst du eine Fristverlängerung bis zum 1. November 2024 beantragen. Später in diesem Jahr kannst du in der Play Console auf die Formulare zur Fristverlängerung zugreifen.

Für diese Anforderungen gelten folgende Ausnahmen:

  • Dauerhaft interne Anwendungen, die auf Nutzer in einer bestimmten Organisation beschränkt und nur für den internen Vertrieb bestimmt sind.
  • Apps, die auf Android Automotive OS ausgerichtet sind oder mit APKs gepackt sind, die auf Android Automotive OS ausgerichtet sind

Welche Vorteile bietet die Ausrichtung auf neuere SDKs?

Mit jeder neuen Android-Version werden Änderungen eingeführt, die die Sicherheit und Leistung verbessern und die Android-Nutzererfahrung verbessern. Einige dieser Änderungen gelten nur für Apps, für die explizit über das Manifestattribut targetSdkVersion (auch als Ziel-API-Level bezeichnet) angegeben wird, dass die App unterstützt wird.

Wenn du deine App so konfigurierst, dass sie auf ein aktuelles API-Level ausgerichtet ist, können Nutzer von diesen Verbesserungen profitieren. Die App kann aber weiterhin unter älteren Android-Versionen ausgeführt werden. Durch die Ausrichtung auf ein aktuelles API-Level kann deine App auch die neuesten Funktionen der Plattform nutzen und so deine Nutzer begeistern. Ab Android 10 (API-Level 29) wird Nutzern außerdem eine Warnung angezeigt, wenn sie eine App zum ersten Mal starten, sofern sie auf Android 5.1 (API-Level 22) oder niedriger ausgerichtet ist.

In diesem Dokument werden wichtige Punkte hervorgehoben, die du beim Aktualisieren deines Ziel-API-Levels wissen musst, um die Google Play-Anforderung zu erfüllen. Weitere Informationen finden Sie in den Anleitungen in den folgenden Abschnitten, je nachdem, zu welcher Version Sie migrieren.

Von Android 12 und höher (API-Level 31) zu einer neueren Version migrieren

Wenn du deine App auf eine neuere Android-Version aktualisieren möchtest, folge der Liste der relevanten Verhaltensänderungen:

Von Android 11 (API-Level 30) zu Android 12 (API-Level 31) migrieren

Sicherheit und Berechtigungen

Nutzerfreundlichkeit

  • Benutzerdefinierte Benachrichtigungen: Benachrichtigungen mit benutzerdefinierten Inhaltsansichten nutzen nicht mehr den gesamten Benachrichtigungsbereich. Stattdessen wendet das System eine Standardvorlage an. Mit dieser Vorlage wird sichergestellt, dass benutzerdefinierte Benachrichtigungen in allen Status genauso geschmückt sind wie andere Benachrichtigungen. Dieses Verhalten ist fast identisch mit dem von Notification.DecoratedCustomViewStyle.
  • Änderungen an der Bestätigung von Android-App-Links: Wenn Sie die Überprüfung von Android-App-Links verwenden, müssen Ihre Intent-Filter die Kategorie BROWSABLE enthalten und das HTTPS-Schema unterstützen.

Leistung

  • Startbeschränkungen für Dienste im Vordergrund: Wenn Ihre App auf Android 12 oder höher ausgerichtet ist, kann Ihre App mit Ausnahme einiger Sonderfälle keine Dienste im Vordergrund starten, während sie im Hintergrund ausgeführt wird. Wenn eine Anwendung versucht, einen Dienst im Vordergrund zu starten, während sie im Hintergrund ausgeführt wird, tritt eine Ausnahme auf (mit Ausnahme der wenigen Sonderfälle).

    Erwägen Sie die Verwendung von WorkManager, um schnelle Arbeiten zu planen und zu starten, während Ihre Anwendung im Hintergrund ausgeführt wird. Wenn Sie zeitkritische Aktionen ausführen möchten, die der Nutzer anfordert, starten Sie Dienste im Vordergrund innerhalb eines exakten Alarms.

  • Benachrichtigungs-Trampolineinschränkungen: Wenn Nutzer auf Benachrichtigungen tippen, reagieren einige Apps mit dem Starten einer App-Komponente, die die Aktivität startet, die der Nutzer sieht und mit der er interagiert. Diese App-Komponente wird als Benachrichtigungs-Trampolin bezeichnet.

    Apps dürfen keine Aktivitäten über Dienste oder Übertragungsempfänger starten, die als Benachrichtigungstrampolin verwendet werden. Nachdem ein Nutzer auf eine Benachrichtigung oder Aktionsschaltfläche in der Benachrichtigung getippt hat, kann deine App startActivity() innerhalb eines Dienstes oder Übertragungsempfängers nicht aufrufen.

Hier finden Sie alle Änderungen, die sich auf Apps auswirken, die auf Android 12 (API-Level 31) ausgerichtet sind.

Von Android 11 (API-Level 30) migrieren

Wählen Sie die Android-Version aus, von der Sie migrieren möchten:

Zu Android 5 (API-Level 21) migrieren

Sehen Sie sich für jede der folgenden Releases auf der entsprechenden Seite zu Verhaltensänderungen an, ob in Ihrer App die in diesen Releases vorgenommenen Änderungen berücksichtigt wurden:

Folge anschließend der Anleitung im nächsten Abschnitt.

Zu Android 6 (API-Level 23) migrieren

Die folgenden Überlegungen gelten für Apps, die auf Android 6.0 und höhere Versionen der Plattform ausgerichtet sind:

  • Laufzeitberechtigungen

    • Gefährliche Berechtigungen werden nur zur Laufzeit gewährt. Ihre UI-Abläufe müssen Angebote zum Gewähren dieser Berechtigungen enthalten.

    • Sorge nach Möglichkeit dafür, dass deine App auf die Ablehnung von Berechtigungsanfragen vorbereitet ist. Wenn ein Nutzer beispielsweise eine Anfrage für den Zugriff auf das GPS des Geräts ablehnt, vergewissere dich, dass deine App eine andere Möglichkeit zum Fortfahren hat.

Eine umfassende Liste der Änderungen in Android 6.0 (API-Ebene 23) findest du auf der Seite zu Verhaltensänderungen für diese Version der Plattform.

Folge anschließend der Anleitung im nächsten Abschnitt.

Zu Android 7 (API-Level 24) migrieren

Die folgenden Überlegungen gelten für Apps, die auf Android 7.0 und höhere Versionen der Plattform ausgerichtet sind:

  • Stromsparmodus und App-Standby

    Berücksichtigen Sie beim Design die unter Optimierung für Stromsparmodus und App-Standby beschriebenen Verhaltensweisen, die schrittweise Änderungen für mehrere Plattform-Releases umfassen.

    Wenn sich ein Gerät im Stromspar- und App-Standby-Modus befindet, verhält sich das System so:

    • Beschränkt den Netzwerkzugriff
    • Alarme, Synchronisierungen und Jobs zurückstellen
    • GPS- und WLAN-Scans werden eingeschränkt
    • Schränkt Firebase Cloud Messaging-Nachrichten mit normaler Priorität ein.
  • Geänderte Berechtigungen

    • Das System schränkt den Zugriff auf private App-Verzeichnisse ein.
    • Wenn ein file://-URI außerhalb deiner App verfügbar gemacht wird, wird ein FileUriExposedException ausgelöst. Wenn du Dateien außerhalb deiner App freigeben musst, implementiere FileProvider.
  • Das System verbietet Verknüpfungen mit Nicht-NDK-Bibliotheken.

Eine umfassende Liste der Änderungen in Android 7.0 (API-Ebene 24) findest du auf der Seite zu Verhaltensänderungen für diese Version der Plattform.

Folge anschließend der Anleitung im nächsten Abschnitt.

Zu Android 8 (API-Level 26) migrieren

Die folgenden Überlegungen gelten für Apps, die auf Android 8.0 und höhere Versionen der Plattform ausgerichtet sind:

Eine umfassende Liste der Änderungen in Android 8.0 (API-Ebene 26) findest du auf der Seite zu Verhaltensänderungen für diese Version der Plattform.

Von Android 8 (API 26) zu Android 9 (API 28) migrieren

Eine umfassende Liste der in Android 9.0 (API-Level 28) eingeführten Änderungen findest du unter Verhaltensänderungen.

Von Android 9 (API-Level 28) zu Android 10 (API-Level 29) migrieren

Von Android 10 (API-Level 29) zu Android 11 (API-Level 30) migrieren

Eine umfassende Liste der Änderungen in Android 11 (API-Level 30) findest du auf der Seite Verhaltensänderungen.

Aktualisieren Sie auf API 31, indem Sie der Anleitung im vorherigen Abschnitt folgen.

Anwendungen modernisieren

Wenn du die Ziel-API-Ebene für deine App aktualisierst, solltest du die neuesten Plattformfunktionen verwenden, um deine App zu modernisieren und so deine Nutzer zu begeistern.

  • Zur optimalen Nutzung der Kamera können Sie CameraX verwenden, das sich in der Betaphase befindet.
  • Verwenden Sie Jetpack-Komponenten, um Best Practices zu befolgen, das Schreiben von Boilerplate-Code zu ersparen und komplexe Aufgaben zu vereinfachen, damit Sie sich auf den für Sie relevanten Code konzentrieren können.
  • Mit Kotlin können Sie bessere Apps schneller und mit weniger Code schreiben.
  • Beachten Sie die Datenschutzanforderungen und die Best Practices.
  • Unterstützung für das dunkle Design für deine Apps hinzufügen
  • Ihren Apps Unterstützung für Bedienung über Gesten hinzufügen
  • Migrieren Sie Ihre App von Google Cloud Messaging (GCM) zur neuesten Version von Firebase Cloud Messaging.
  • Nutze die erweiterte Fensterverwaltung.

SDKs und Bibliotheken überprüfen und aktualisieren

Achten Sie darauf, dass Ihre Drittanbieter-SDK-Abhängigkeiten API 31 unterstützen: Einige SDK-Anbieter veröffentlichen sie in ihrem Manifest, bei anderen ist eine zusätzliche Prüfung erforderlich. Wenn Sie ein SDK verwenden, das API 31 nicht unterstützt, sollten Sie zuerst mit dem SDK-Anbieter zusammenarbeiten, um das Problem zu beheben.

Beachte außerdem, dass das targetSdkVersion deiner App oder deines Spiels möglicherweise den Zugriff auf private Android-Plattformbibliotheken einschränkt. Weitere Informationen findest du im Artikel zum Verknüpfen von NDK-Apps mit Plattformbibliotheken.

Außerdem solltest du alle Einschränkungen prüfen, die in der von dir verwendeten Version der Android-Supportbibliothek bestehen. Wie immer musst du für die Kompatibilität zwischen der Hauptversion der Android Support Library und der compileSdkVersion deiner App sorgen.

Wir empfehlen, eine targetSdkVersion auszuwählen, die kleiner oder gleich der Hauptversion der Supportbibliothek ist. Außerdem solltest du ein Update auf eine aktuelle kompatible Supportbibliothek durchführen, um von den neuesten Kompatibilitätsfunktionen und Fehlerkorrekturen zu profitieren.

App testen

Nachdem du die API-Ebene und die Funktionen deiner App entsprechend aktualisiert hast, solltest du einige grundlegende Anwendungsfälle testen. Die folgenden Vorschläge sind nicht vollständig, sondern sollen Ihnen als Leitfaden für den Test dienen. Wir schlagen folgende Tests vor:

  • ob deine App ohne Fehler oder Warnungen zu API 29 kompiliert wird.
  • Deine App sollte eine Strategie für Fälle verfolgen, in denen der Nutzer Berechtigungsanfragen ablehnt und ihn um Berechtigungen bittet. Gehen Sie dazu so vor:

    • Rufe den Bildschirm "App-Info" deiner App auf und deaktiviere alle Berechtigungen.
    • Öffne die App und überzeuge dich davon, dass keine Abstürze auftreten.
      • Führen Sie grundlegende Anwendungsfalltests durch und prüfen Sie, ob die erforderlichen Berechtigungen wieder angefordert werden.
  • Teste, ob deine App den Stromsparmodus mit den erwarteten Ergebnissen und ohne Fehler verarbeitet.

    • Versetzen Sie Ihr Testgerät mithilfe von ADB in den Stromsparmodus, während Ihre App ausgeführt wird.
      • Teste alle Anwendungsfälle, durch die Firebase Cloud Messaging-Nachrichten ausgelöst werden.
      • Teste alle Anwendungsfälle, bei denen Alarme oder Jobs verwendet werden.
      • Beseitige Abhängigkeiten von Hintergrunddiensten.
    • Versetzen Sie Ihre App in den App-Standby-Modus.
      • Teste alle Anwendungsfälle, durch die Firebase Cloud Messaging-Nachrichten ausgelöst werden.
      • Teste alle Anwendungsfälle, bei denen Alarme verwendet werden.
  • Teste, ob deine App neue Fotos bzw. Videos verarbeitet, die aufgenommen werden.

  • Verarbeitung der Freigabe von Dateien für andere Apps – Anwendungsfälle testen, bei denen Dateidaten für eine andere App (auch eine andere App desselben Entwicklers) freigegeben werden

    • Testen Sie, ob der Inhalt in der anderen App sichtbar ist und keine Abstürze auslöst.

Weitere Informationen

Melde dich in der Google Play Console für E-Mails an, damit wir dir wichtige Neuigkeiten und Ankündigungen von Android und Google Play sowie unseren monatlichen Partner-Newsletter senden können.