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 gilt für 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 an Verhaltensänderungen unter Android 13 angepasst werden. 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.

Warum sollten Sie Anzeigen auf neuere SDKs ausrichten?

In jeder neuen Android-Version werden Änderungen eingeführt, die für Sicherheits- und Leistungsverbesserungen sorgen und die Nutzerfreundlichkeit von Android verbessern. Einige dieser Änderungen gelten nur für Apps, in denen explizit die Unterstützung über ihr Manifestattribut targetSdkVersion (auch Ziel-API-Level genannt) 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 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, 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. Beachten Sie die Anweisungen in den folgenden Abschnitten, je nachdem, zu welcher Version Sie migrieren.

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 sorgt dafür, dass benutzerdefinierte Benachrichtigungen in allen Status gleich eingerichtet sind wie andere Benachrichtigungen. Dieses Verhalten ist nahezu identisch mit dem 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 bei der Einführung von Diensten im Vordergrund: Bei einer Ausrichtung auf Android 12 oder höher können in deiner App mit Ausnahme bestimmter Sonderfälle keine Dienste im Vordergrund gestartet werden, 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 (außer in einigen Sonderfällen).

    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 dadurch, dass sie eine App-Komponente starten, 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-Trampoline verwendet werden. Nachdem ein Nutzer auf eine Benachrichtigungs- oder Aktionsschaltfläche in der Benachrichtigung tippt, 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.

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

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

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.

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 dem 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 das API-Level und die Funktionen deiner App entsprechend aktualisiert hast, solltest du einige grundlegende Anwendungsfälle testen. Die folgenden Vorschläge sind nicht vollständig, sollen Ihnen 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.
  • Ihre App sollte eine Strategie für Fälle haben, in denen der Nutzer Berechtigungsanfragen ablehnt und den Nutzer zur Eingabe von Berechtigungen auffordert. 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.
      • Tests für grundlegende Anwendungsfälle durchführen und dafür sorgen, dass die erforderlichen Berechtigungen neu angefordert werden
  • Teste, ob deine App den Stromsparmodus mit den erwarteten Ergebnissen und ohne Fehler verarbeitet.

    • Versetze dein Testgerät mithilfe von 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-Stand-by ein.
      • 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.

  • Geht mit der Freigabe von Dateien für andere Apps um – Testen Sie jeden Anwendungsfall, bei dem Dateidaten mit einer anderen App geteilt werden (auch mit einer anderen App desselben Entwicklers).

    • Testen Sie, 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.