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 weiterhin auf Geräten neuer Nutzer ausgeführt werden können, die eine höhere Version des Android-Betriebssystems haben als das Ziel-API-Level Ihrer App. 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-Versionen verfügbar, die mit dem Ziel-API-Level Ihrer App übereinstimmen oder niedriger sind.

Wenn Sie mehr Zeit zum Aktualisieren Ihrer App benötigen, können Sie eine Fristverlängerung bis zum 1. November 2024 beantragen. Im Lauf dieses Jahres können Sie in der Play Console auf die Formulare zur Fristverlängerung für Ihre App zugreifen.

Für diese Anforderungen gelten folgende Ausnahmen:

  • Dauerhaft interne Apps, 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 für die APKs verwendet werden, die auf Android Automotive OS ausgerichtet sind.

Warum sollten Sie neuere SDKs verwenden?

In jeder neuen Android-Version werden Änderungen eingeführt, die zu Sicherheits- und Leistungsverbesserungen führen und die Nutzerfreundlichkeit von Android insgesamt verbessern. Einige dieser Änderungen gelten nur für Apps, die die Unterstützung explizit über das Manifestattribut targetSdkVersion (auch als Ziel-API-Level bezeichnet) deklarieren.

Wenn Sie die App so konfigurieren, dass sie auf ein aktuelles API-Level ausgerichtet ist, können Nutzer von diesen Verbesserungen profitieren, während Ihre App weiterhin auf älteren Android-Versionen ausgeführt werden kann. Durch die Ausrichtung auf ein aktuelles API-Level kann deine App auch die neuesten Funktionen der Plattform nutzen und so deine Nutzer begeistern. Außerdem wird Nutzern ab Android 10 (API-Ebene 29) beim ersten Starten einer App, die auf Android 5.1 (API-Ebene 22) oder niedriger ausgerichtet ist, eine Warnung angezeigt.

In diesem Dokument werden wichtige Punkte hervorgehoben, die Sie beim Aktualisieren des Ziel-API-Levels beachten müssen, um die Google Play-Anforderung zu erfüllen. Lesen Sie die Anleitung 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: Für Benachrichtigungen mit benutzerdefinierten Inhaltsansichten wird nicht mehr der gesamte Benachrichtigungsbereich verwendet. Stattdessen wendet das System eine Standardvorlage an. Mit dieser Vorlage haben benutzerdefinierte Benachrichtigungen in allen Status die gleiche Gestaltung wie andere Benachrichtigungen. Dieses Verhalten entspricht nahezu dem von Notification.DecoratedCustomViewStyle.
  • Änderungen bei der Bestätigung von Android-App-Links: Wenn Sie die Bestätigung von Android-App-Links verwenden, müssen Ihre Intent-Filter die Kategorie „BROWSABLE“ enthalten und das HTTPS-Schema unterstützen.

Leistung

  • Einschränkungen beim Starten von Diensten im Vordergrund: Wenn Ihre App auf Android 12 oder höher ausgerichtet ist, kann sie Dienste im Vordergrund nur in wenigen Ausnahmefällen 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, wird eine Ausnahme ausgelöst (außer in wenigen Sonderfällen).

    Sie können WorkManager verwenden, um Beschleunigte Aufgaben zu planen und zu starten, während Ihre App 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 für Trampoline für Benachrichtigungen: Wenn Nutzer auf Benachrichtigungen tippen, starten einige Apps eine 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 Broadcastempfängern starten, die als Trampoline für Benachrichtigungen verwendet werden. Wenn ein Nutzer auf eine Benachrichtigung oder eine Aktionsschaltfläche in der Benachrichtigung tippt, kann Ihre App startActivity() nicht in einem Dienst oder Broadcast-Empfänger aufrufen.

Hier finden Sie eine vollständige Liste der Ä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 aus 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öher 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 zum Zugriff auf das GPS des Geräts ablehnt, muss Ihre App eine andere Möglichkeit bieten, fortzufahren.

Eine vollständige Liste der Änderungen, die in Android 6.0 (API-Ebene 23) eingeführt wurden, finden Sie auf der Seite 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öher ausgerichtet sind:

  • Stromsparmodus und App-Standby

    Berücksichtigen Sie die Verhaltensweisen, die unter Für Doze und App-Standby optimieren beschrieben werden. Dazu gehören inkrementelle Änderungen, die in mehreren Plattformversionen eingeführt wurden.

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

    • Beschränkt den Netzwerkzugriff
    • Wecker, Synchronisierungen und Jobs werden verschoben
    • GPS- und WLAN-Scans werden eingeschränkt
    • Beschränkt Firebase Cloud Messaging-Nachrichten mit normaler Priorität.
  • Geänderte Berechtigungen

    • Das System schränkt den Zugriff auf private App-Verzeichnisse ein.
    • Wenn Sie einen file://-URI außerhalb Ihrer App freigeben, wird ein FileUriExposedException ausgelöst. Wenn Sie Dateien außerhalb Ihrer App freigeben möchten, implementieren Sie 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 Hinweise gelten für Apps, die auf Android 8.0 und höher ausgerichtet sind:

Eine vollständige Liste der Änderungen, die in Android 8.0 (API-Level 26) eingeführt wurden, finden Sie auf der Seite Verhaltensänderungen für diese Version der Plattform.

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

Eine vollständige Liste der Änderungen in Android 9.0 (API-Level 28) finden Sie unter Änderungen am Verhalten.

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.

Führen Sie die Aktualisierung auf API 31 mithilfe der Anleitung im vorherigen Abschnitt fort.

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 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 sich umgehend an den SDK-Anbieter wenden, um das Problem zu beheben.

Außerdem kann die targetSdkVersion Ihrer App oder Ihres Spiels den Zugriff auf private Android-Plattformbibliotheken einschränken. Weitere Informationen finden Sie unter Verknüpfung 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 Sie das API-Level und die Funktionen Ihrer App entsprechend aktualisiert haben, sollten Sie einige Hauptanwendungsfälle testen. Die folgenden Vorschläge sind nicht vollständig, sollen Ihnen aber beim Testen helfen. Wir schlagen folgende Tests vor:

  • ob deine App ohne Fehler oder Warnungen zu API 29 kompiliert wird.
  • Ihre App muss eine Strategie für den Fall haben, dass der Nutzer Berechtigungsanfragen ablehnt, und ihn um Berechtigungen bitten. 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 mit adb in den Ruhemodus, 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.

  • Verwaltet die Freigabe von Dateien für andere Apps – Testen Sie alle Anwendungsfälle, bei denen Dateidaten für eine andere App freigegeben werden (auch für eine andere App desselben Entwicklers)

    • Prüfen Sie, ob die Inhalte in der anderen App sichtbar sind und keine Abstürze auslösen.

Weitere Informationen

Aktivieren Sie in der Google Play Console die Option „E-Mails erhalten“, damit wir Ihnen wichtige Updates und Ankündigungen von Android und Google Play senden können, einschließlich unseres monatlichen Partnernewsletters.