Vielleicht haben Sie kürzlich eine E-Mail von der Google Play Store erhalten, die folgendes enthielt:

Aktualisieren Sie Ihre Play Core Maven Abhängigkeit auf eine mit Android 14 kompatible Version! Ihre aktuelle Play Core Bibliothek ist mit der targetSdkVersion 34 (Android 14) inkompatibel, die eine rückwärts inkompatible Änderung an den Sendemodiellen für den Schutz der Benutzerinnen und Benutzer einführt. Als Erinnerung: Ab dem 31. August ist es für Google Play verpflichtend, dass alle neuen App-Veröffentlichungen auf Android 14 abgestimmt sind. Aktualisieren Sie zur neuesten Play Core Bibliotheksversion, um App-Abstürze zu vermeiden: https://developer.android.com/guide/playcore#playcore-migration

Möglicherweise können Sie mit dieser SDK-Version keine zukünftigen Versionen Ihrer App für die Produktion oder offene Testphasen veröffentlichen.

Das klingt schrecklich, oder?

Bleiben Sie cool. Es ist tatsächlich einfacher, als es aussieht.

Was die Änderung tatsächlich betrifft

Grundsätzlich hat Google die Veröffentlichung neuer Versionen der Play Core Bibliothek bereits Anfang 2022 eingestellt.


Die letzte veröffentlichte Version der Play Core Bibliothek

Und seit April 2022 haben sie die ursprüngliche Play Core Bibliothek in vier separate Bibliotheken aufgeteilt:

  • Play Assets Delivery Library
  • Play Feature Delivery Library
  • Play In-App Reviews Library
  • Play In-App Updates Library

Jeder Bibliothek ist ihre eigenartige Funktionalität und Verantwortung zugeordnet.

da der ältere Kern-Play-Bibliothek nur bis zu einer bestimmten API-Version unterstützt, müssen Sie Ihre Anwendung auf die neueren Bibliotheken migrieren, die die aktuellsten API-Versionen unterstützen.

Grundsätzlich müssen Sie herausfinden, welche Funktionalität Sie aus der ursprünglichen Play-Bibliothek verwenden und dann die richtige Komponente herunterladen. Zum Beispiel müssen Sie, wenn Sie Logik zum Benachrichtigen von Benutzern, wenn eine neue Version Ihrer Anwendung verfügbar ist, verwenden, die Play-In-App-Updates-Bibliothek.

Wir werden hier zwei Anwendungsfälle präsentieren:

  • Native Android-Anwendung
  • Flutter-Anwendung

Anwendungsfall – Native Android-App

Wenn Sie eine native Android-Anwendung haben, die in Kotlin oder Java geschrieben ist, müssen Sie folgendes tun:

  1. Öffnen Sie Ihre Datei build.gradle auf Ebene der Anwendung
  2. Wahrscheinlich werden Sie unter dem Abschnitt dependencies diese Zeile sehen:
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. Sie müssen dies entfernen und entsprechend dem, was Sie in der vorhergehenden Kernbibliothek verwendet haben, ersetzen

  2. Wenn Sie die Play In-App-Updates-Bibliothek verwenden müssen, dann müssen Sie diese zum Abschnitt dependencies hinzufügen:

implementation 'com.google.android.play:app-update:2.1.0'
//Fügen Sie die Abhängigkeit unten hinzu, wenn Sie Kotlin in Ihrer Anwendung verwenden
implementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. Neuaufbau Ihrer Anwendung und überprüfen Sie, ob alles wie erwartet funktioniert.

✋ Es kann notwendig sein, Import-Anweisungen von import com.google.android.play.core.tasks.*; auf import com.google.android.gms.tasks.*; zu ändern.

Anwendungsfall – Flutter-Anwendung

Da Flutter ein Framework ist, das sowohl Android als auch iOS abdeckt, unterscheidet sich dieser Fall leicht vom oben erwähnten. Wenn Sie in Ihrer Flutter-Anwendung eine Warnung erhalten, die die Core Play Bibliothek aktualisieren lässt, müssen Sie sich bei den Bibliotheken, die Sie in Ihrem pubspec.yaml-Datei verwenden, anschauen:

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^3.0.0

Wie Sie oben sehen können, hängt die Anwendung von der in_app_update Bibliothek ab, die mit der Benachrichtigung von Benutzern befasst ist, wenn eine neuere Version der Anwendung verfügbar ist. Wenn wir zu der in_app_update-Seite auf pub.dev Changelog Seite gehen, können wir sehen, dass:


Version 4.1.0 die notwendige Unterstützung hinzugefügt hat

Daher müssen Sie Ihre pubspec.yaml-Datei aktualisieren, um diese Version (mindestens) zu verwenden.

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^4.1.0

Führen Sie `Pub get` aus, und dann sollten Sie fertig sein.