Android App Bundles

Ein Android App Bundle ist ein Veröffentlichungsformat, das den gesamten kompilierten Code und die Ressourcen Ihrer App enthält und das Generieren und Signieren von APKs in Google Play auf später verschieben wird.

Google Play verwendet dein App Bundle, um optimierte APKs für jede Gerätekonfiguration zu generieren und bereitzustellen. So werden nur der Code und die Ressourcen heruntergeladen, die für ein bestimmtes Gerät benötigt werden, um deine App auszuführen. Du musst nicht mehr mehrere APKs erstellen, signieren und verwalten, um die Unterstützung für verschiedene Geräte zu optimieren, und Nutzer erhalten kleinere, stärker optimierte Downloads.

Bei den meisten App-Projekten ist das Erstellen von App Bundles, die die Bereitstellung optimierter APKs unterstützen, nicht allzu aufwendig. Wenn du den Code und die Ressourcen deiner App bereits gemäß den geltenden Konventionen organisiert hast, erstellst du signierte Android App Bundles mit Android Studio oder über die Befehlszeile und ladet sie bei Google Play hoch. Dann wird die optimierte APK-Bereitstellung zu einem automatischen Vorteil.

Wenn Sie Ihre App im App-Bundle-Format veröffentlichen, können Sie optional auch Play Feature Delivery nutzen. Damit können Sie Ihrem App-Projekt Funktionsmodule hinzufügen. Diese Module enthalten Funktionen und Ressourcen, die nur basierend auf von Ihnen angegebenen Bedingungen in Ihrer App enthalten sind oder später zur Laufzeit mithilfe der Play Core Library heruntergeladen werden können.

Spieleentwickler, die ihre Apps mit App Bundles veröffentlichen, können Play Asset Delivery verwenden. Diese Google Play-Lösung zur Bereitstellung großer Mengen von Spiele-Assets bietet Entwicklern flexible Bereitstellungsmethoden und hohe Leistung.

Im folgenden Video erfährst du, warum du deine App mit Android App Bundles veröffentlichen solltest.

Größenbeschränkung für komprimierte Downloads

Die Veröffentlichung mit Android App Bundles hilft deinen Nutzern, deine App mit kleinstmöglichen Downloads zu installieren, und erhöht die komprimierte Downloadgröße. Das heißt, wenn ein Nutzer Ihre App herunterlädt, darf die Gesamtgröße der komprimierten APKs, die zur Installation Ihrer App erforderlich sind (z. B. das Basis-APK und Konfigurations-APKs), nicht mehr als 4 GB betragen. Für alle nachfolgenden Downloads, z. B. der On-Demand-Download eines Funktionsmoduls und seiner Konfigurations-APKs, gilt diese Beschränkung für die komprimierte Downloadgröße ebenfalls. Asset-Packs tragen nicht zu dieser Größenbeschränkung bei, sie unterliegen aber anderen Größenbeschränkungen.

Wenn in der Play Console festgestellt wird, dass einer der möglichen Downloads Ihrer App oder ihrer On-Demand-Funktionen die maximalen Größenbeschränkungen überschreitet, wird eine Fehlermeldung angezeigt.

Beachte bitte, dass Android App Bundles keine APK-Erweiterungsdateien (*.obb) unterstützen. Wenn dieser Fehler beim Veröffentlichen Ihres App Bundles auftritt, verwenden Sie also eine der folgenden Ressourcen, um die Downloadgröße komprimierter APKs zu reduzieren:

  • Achten Sie darauf, alle Konfigurations-APKs zu aktivieren, indem Sie enableSplit = true für jeden Konfigurations-APK-Typ festlegen. Dadurch wird sichergestellt, dass Nutzer nur den Code und die Ressourcen herunterladen, die sie zum Ausführen Ihrer App auf ihrem Gerät benötigen.
  • Reduzieren Sie Ihre Anwendung, indem Sie nicht verwendeten Code und nicht verwendete Ressourcen entfernen.
  • Folge den Best Practices, um die App-Größe weiter zu reduzieren.
  • Sie können Funktionen, die nur von einigen Nutzern verwendet werden, in Funktionsmodule umwandeln, die Ihre App später bei Bedarf herunterladen kann. Beachten Sie, dass dies möglicherweise eine Refaktorierung Ihrer App erfordert. Probieren Sie daher zuerst die anderen beschriebenen Vorschläge aus.

Weitere Überlegungen

Die folgenden Probleme sind bekannt, wenn Sie Ihre App mit Android App Bundles erstellen oder bereitstellen. Wenn Probleme auftreten, die hier noch nicht beschrieben sind, melden Sie einen Fehler.

  • Teilinstallationen von per Sideload übertragenen Apps, d. h. Apps, die nicht über den Google Play Store installiert wurden und für die ein oder mehrere erforderliche unterteilte APKs fehlen, schlagen auf allen von Google zertifizierten Geräten und Geräten mit Android 10 (API-Level 29) oder höher fehl. Wenn Sie Ihre App über den Google Play Store herunterladen, sorgt Google dafür, dass alle erforderlichen Komponenten der App installiert sind.
  • Wenn Sie Tools verwenden, die Ressourcentabellen dynamisch ändern, können aus App Bundles generierte APKs unerwartet verhalten. Daher wird empfohlen, beim Erstellen eines App-Bundles solche Tools zu deaktivieren.

  • Es ist möglich, Attribute in der Build-Konfiguration eines Funktionsmoduls zu konfigurieren, die mit denen der Basismodule (oder anderen) in Konflikt stehen. Du kannst beispielsweise buildTypes.release.debuggable = true im Basismodul und in einem Funktionsmodul auf false setzen. Solche Konflikte können zu Build- und Laufzeitproblemen führen. Beachten Sie, dass Featuremodule standardmäßig einige Build-Konfigurationen vom Basismodul übernehmen. Es ist also wichtig, dass Sie wissen, welche Konfigurationen Sie in der Build-Konfiguration des Feature-Moduls beibehalten und welche auslassen sollten.

Zusätzliche Ressourcen

Weitere Informationen zu Android App Bundles findest du in den folgenden Ressourcen.

Blogposts

Videos