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

Wenn Sie ein APK hochladen, muss es den Anforderungen von Google Play an das Ziel-API-Level entsprechen.

Ab dem 31. August 2023 gilt Folgendes:

  • Neue Apps müssen auf Android 13 (API-Level 33) oder höher ausgerichtet sein. Eine Ausnahme bilden Wear OS-Apps, die auf eine Version zwischen Android 11 (API-Level 30) und Android 13 (API-Level 33) ausgerichtet sein müssen.

  • App-Updates müssen auf Android 13 oder höher ausgerichtet sein und sich an Verhaltensänderungen unter Android 13 anpassen. Eine Ausnahme bilden Wear OS-Apps, die auf Android 11 ausgerichtet sein müssen.

Dauerhaft private Apps, die auf Nutzer in einer bestimmten Organisation beschränkt und nur für den internen Vertrieb bestimmt sind, müssen die Anforderungen an das Ziel-API-Level nicht erfüllen.

Hinweis: Ab 2022 sind einige veraltete Apps für neue Nutzer von Geräten mit neueren Android-Versionen nicht mehr verfügbar.

Warum sollten Sie Anzeigen auf neuere SDKs ausrichten?

In jeder neuen Android-Version werden Änderungen eingeführt, die Sicherheit und Leistung verbessern und die Android-Nutzererfahrung verbessern. Einige dieser Änderungen gelten nur für Apps, bei denen explizit Unterstützung über ihr Manifestattribut targetSdkVersion (auch als Ziel-API-Level bezeichnet) erklärt 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 funktioniert aber weiterhin unter älteren Android-Versionen. Durch die Ausrichtung auf eine aktuelle API-Ebene 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, wenn die App auf Android 5.1 (API-Level 22) oder niedriger ausgerichtet ist.

In diesem Dokument werden wichtige Punkte erläutert, die du beim Aktualisieren deines Ziel-API-Levels beachten musst, um die Google Play-Anforderung zu erfüllen.

Wenn Sie von niedrigeren Versionen migrieren, finden Sie unten die vollständige Liste der Änderungen.

Hinweis : Wenn deine Gradle-Datei Manifesteinträge enthält, kannst du den aktuellen Wert von targetSdkVersion in der Gradle-Datei deiner App bestätigen oder ändern, wie unter Build konfigurieren beschrieben. Alternativ kannst du das Attribut android:targetSdkVersion in der Manifestdatei verwenden, wie in der Dokumentation für das Manifestelement <uses-sdk> beschrieben.

Von Android 12 (API-Level 31) zu Android 13 (API-Level 33) migrieren

Wenn du deine App auf Android 13 ausrichten möchtest, folge der Liste der Verhaltensänderungen.

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

Sicherheit und Berechtigungen

Nutzererfahrung

  • Benutzerdefinierte Benachrichtigungen: Für Benachrichtigungen mit benutzerdefinierten Inhaltsansichten wird nicht mehr der gesamte Benachrichtigungsbereich verwendet. Stattdessen wendet das System eine Standardvorlage an. Diese Vorlage stellt sicher, dass benutzerdefinierte Benachrichtigungen in allen Status gleich gestaltet sind wie andere Benachrichtigungen. Dieses Verhalten ist fast identisch mit dem Verhalten von Notification.DecoratedCustomViewStyle.
  • Änderungen bei der Überprüfung von Android-App-Links: Wenn Sie die Überprüfung von Android-App-Links verwenden, müssen Sie dafür sorgen, dass Ihre Intent-Filter die Kategorie BROWSABLE enthalten und das HTTPS-Schema unterstützen.

Leistung

  • Einschränkungen beim Starten von Diensten im Vordergrund: Bei einer Ausrichtung auf Android 12 oder höher kann deine App mit Ausnahme einiger Sonderfälle keine Dienste im Vordergrund starten, während sie im Hintergrund ausgeführt wird. Wenn eine App 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).

    Mit WorkManager können Sie beschleunigte Arbeiten planen und 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.

  • Einschränkungen des Benachrichtigungs-Trampolins: Wenn Nutzer auf Benachrichtigungen tippen, reagieren einige Apps mit dem Start 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 von Diensten oder Sendeempfängern starten, die als Benachrichtigungs-Trampolin verwendet werden. Nachdem ein Nutzer auf eine Benachrichtigungs- oder Aktionsschaltfläche in der Benachrichtigung getippt hat, kann die App startActivity() nicht mehr innerhalb eines Dienstes oder eines Sendeempfängers aufrufen.

Alle Änderungen, die sich auf Apps auswirken, die auf Android 12 (API-Level 31) ausgerichtet sind

Migration von älteren Versionen als Android 11 (API-Level 30)

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

Zu Android 5 (API-Level 21) migrieren

Prüfen Sie auf der entsprechenden Seite zu Verhaltensänderungen für jede der folgenden Releases, ob Ihre App die in diesen Releases eingeführten Änderungen berücksichtigt hat:

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.

    • Ihre App sollte nach Möglichkeit auf die Ablehnung von Berechtigungsanfragen vorbereitet sein. 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 hat, fortzufahren.

Eine umfassende Liste der Änderungen in Android 6.0 (API-Level 23) findest du auf der Seite zu Verhaltensänderungen für die jeweilige 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

    Entwickeln Sie Ihr Design für Verhaltensweisen, die unter Optimierung für Stromsparmodus und App-Standby beschrieben sind. Darin werden schrittweise Änderungen über mehrere Plattform-Releases hinweg eingeführt.

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

    • Beschränkt den Netzwerkzugriff
    • Alarme, Synchronisierungen und Aufträge verschieben
    • Schränkt GPS- und WLAN-Scans ein
    • 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 vollständige Liste der Änderungen in Android 7.0 (API-Level 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-Level 26) findest du auf der Seite zu Verhaltensänderungen für die jeweilige Version der Plattform.

Migration von Android 8 (API 26) zu Android 9 (API 28)

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

Migration von Android 9 (API-Level 28) zu Android 10 (API-Level 29)

Migration von Android 10 (API-Level 29) zu Android 11 (API-Level 30)

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.

Apps 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.

SDKs und Bibliotheken überprüfen und aktualisieren

Achten Sie darauf, dass die Abhängigkeiten Ihres Drittanbieter-SDKs API 31 unterstützen: Einige SDK-Anbieter veröffentlichen sie in ihrem Manifest. Bei anderen ist eine zusätzliche Prüfung erforderlich. Wenn du ein SDK verwendest, das API 31 nicht unterstützt, solltest du mit dem SDK-Anbieter zusammenarbeiten, um das Problem zu beheben.

Außerdem ist zu beachten, dass die targetSdkVersion deiner App oder deines Spiels den Zugriff auf private Android-Plattformbibliotheken einschränken kann. Weitere Informationen findest du unter NDK-Apps mit Plattformbibliotheken verknüpfen.

Außerdem solltest du alle Einschränkungen prüfen, die möglicherweise in der von dir verwendeten Version der Android Support Library vorhanden sind. Achte wie immer darauf, dass die Hauptversion der Android Support Library mit der compileSdkVersion deiner App kompatibel ist.

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 Funktionen deiner App nach Bedarf aktualisiert hast, solltest du einige grundlegende Anwendungsfälle testen. Die folgenden Vorschläge decken nicht alle Aspekte ab, sollen dir aber als Leitfaden für den Testprozess dienen. Wir schlagen folgende Tests vor:

  • Ihre App muss ohne Fehler oder Warnungen in API 29 kompiliert werden.
  • Teste, ob in deiner App eine Strategie für Fälle vorgesehen ist, in denen der Nutzer Berechtigungsanfragen ablehnt und der Nutzer nach Berechtigungen gefragt wird. 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.
    • Teste grundlegende Anwendungsfälle und kontrolliere, ob die erforderlichen Berechtigungen wieder angefordert werden.

  • Teste, ob deine App den Stromsparmodus mit den erwarteten Ergebnissen und ohne Fehler verarbeitet.
    • Versetze dein Testgerät mit adb in den Stromsparmodus, während deine 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.
    • Richten Sie Ihre App auf App-Standby ein.
      • Teste alle Anwendungsfälle, durch die Firebase Cloud Messaging-Nachrichten ausgelöst werden.
      • Teste alle Anwendungsfälle, bei denen Alarme verwendet werden.

  • Verarbeitet neue Fotos / Videos, die aufgenommen werden
  • Es verarbeitet die Freigabe von Dateien für andere Apps.
    • Teste jeden Anwendungsfall, bei dem Dateidaten mit einer anderen App – sogar mit einer anderen App desselben Entwicklers – geteilt werden.
    • Teste, ob der Inhalt in der anderen App sichtbar ist und keine Abstürze auslöst.

Weitere Informationen

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