Ein Android App Bundle ist ein Veröffentlichungsformat, das den gesamten kompilierten Code und alle Ressourcen Ihrer App enthält. Die APK-Generierung und -Signierung wird an Google Play übertragen.
Google Play verwendet Ihr 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 zum Ausführen Ihrer App erforderlich sind. Sie müssen nicht mehr mehrere APKs erstellen, signieren und verwalten, um die Unterstützung für verschiedene Geräte zu optimieren. Nutzer erhalten kleinere, besser optimierte Downloads.
Bei den meisten App-Projekten ist nur wenig Aufwand erforderlich, um App-Bundles zu erstellen, die die Bereitstellung optimierter APKs unterstützen. Wenn Sie den Code und die Ressourcen Ihrer App konventionsgemäß anlegen, signierte Android App Bundles mit Android Studio oder über die Befehlszeile erstellen und in Google Play hochladen, profitieren Sie automatisch von der optimierten Bereitstellung von APKs.
Wenn Sie Ihre App im App-Bundle-Format veröffentlichen, können Sie optional auch Play Feature Delivery nutzen, um Ihrem App-Projekt Funktionsmodule hinzuzufügen. Diese Module enthalten Funktionen und Ressourcen, die nur unter von Ihnen angegebenen Bedingungen in Ihre App aufgenommen werden oder später zur Laufzeit über die Play Core Library heruntergeladen werden können.
Spieleentwickler, die ihre Apps mit App-Bundles veröffentlichen, können Play Asset Delivery verwenden. Das ist die Lösung von Google Play für die Bereitstellung großer Mengen an Spiel-Assets. Sie bietet Entwicklern flexible Bereitstellungsmethoden und hohe Leistung.
Im folgenden Video erhalten Sie einen Überblick darüber, warum Sie Ihre App mit Android App Bundles veröffentlichen sollten.
Beschränkung der komprimierten Downloadgröße
Wenn Sie Ihre App mit Android App Bundles veröffentlichen, können Nutzer sie mit möglichst kleinen Downloads installieren. Außerdem wird die Downloadgröße für komprimierte Inhalte erhöht. Das bedeutet, dass die Gesamtgröße der komprimierten APKs, die zum Installieren Ihrer App erforderlich sind (z. B. das Basis-APK + Konfigurations-APKs), beim Herunterladen durch einen Nutzer maximal 4 GB betragen darf. Alle nachfolgenden Downloads, z. B. das On-Demand-Herunterladen eines Funktionsmoduls (und der zugehörigen Konfigurations-APKs), müssen ebenfalls dieser Beschränkung der komprimierten Downloadgröße entsprechen. Asset-Packs werden nicht auf dieses Größenlimit angerechnet, 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.
Android App Bundles unterstützen keine APK-Erweiterungsdateien (*.obb). Wenn dieser Fehler beim Veröffentlichen Ihres App-Bundles auftritt, können Sie die folgenden Ressourcen verwenden, um die Downloadgröße komprimierter APKs zu reduzieren:
- Achten Sie darauf, dass Sie alle Konfigurations-APKs aktivieren, indem Sie
enableSplit = truefür jeden Typ von Konfigurations-APK festlegen. So wird sichergestellt, dass Nutzer nur den Code und die Ressourcen herunterladen, die sie benötigen, um Ihre App auf ihrem Gerät auszuführen. - Reduzieren Sie die Größe Ihrer App, indem Sie nicht verwendeten Code und nicht verwendete Ressourcen entfernen.
- Halten Sie sich an die Best Practices, um die App-Größe weiter zu reduzieren.
- Sie können Funktionen, die nur von einigen Ihrer Nutzer verwendet werden, in Funktionsmodule umwandeln, die Ihre App später bei Bedarf herunterladen kann. Dazu ist möglicherweise eine Umstrukturierung Ihrer App erforderlich. Probieren Sie daher zuerst die anderen beschriebenen Vorschläge aus.
Weitere Hinweise
Im Folgenden finden Sie bekannte Probleme, die beim Erstellen oder Bereitstellen Ihrer App mit Android App Bundles auftreten können. Wenn Probleme auftreten, die hier noch nicht beschrieben werden, melden Sie den Fehler bitte hier.
- Teilinstallationen von per Sideloading installierten Apps, d. h. Apps, die nicht über den Google Play Store installiert wurden und bei denen ein oder mehrere erforderliche Split-APKs fehlen, schlagen auf allen 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 werden.
Wenn Sie Tools verwenden, die Ressourcentabellen dynamisch ändern, kann es sein, dass sich aus App-Bundles generierte APKs unerwartet verhalten. Daher wird empfohlen, solche Tools zu deaktivieren, wenn Sie ein App-Bundle erstellen.
Es ist möglich, Eigenschaften in der Build-Konfiguration eines Feature-Moduls zu konfigurieren, die mit denen des Basis- oder anderer Module in Konflikt stehen. Sie können beispielsweise
buildTypes.release.debuggable = trueim Basismodul undfalsein einem Funktionsmodul festlegen. Solche Konflikte können zu Build- und Laufzeitproblemen führen. Standardmäßig übernehmen Feature-Module einige Build-Konfigurationen vom Basismodul. Sie müssen also wissen, welche Konfigurationen Sie in Ihrer Build-Konfiguration für Funktionsmodule beibehalten und welche Sie weglassen sollten.
Zusätzliche Ressourcen
Weitere Informationen zu Android App Bundles finden Sie in den folgenden Ressourcen.
Blogposts
- Erstes App-Bundle erstellen
- Was ein neues Veröffentlichungsformat für die Zukunft von Android bedeutet
- Neue Funktionen für die Entwicklung und Veröffentlichung von Apps und für den Ausbau Ihres Geschäfts bei Google Play
- Die neuesten Updates für Android App Bundles, einschließlich der Additional Languages API
- Patchwork Plaid – die Geschichte einer Modularisierung
- Auf den Spuren des Weihnachtsmanns – Umstieg auf ein Android App Bundle
- Entwicklertools in der Play Console
Videos
- Alles Wissenswerte zur Play App-Signatur
- Erstes App-Bundle erstellen
- App-Bundles: Mit Bundletool und der Play Console testen
- Anpassbare Bereitstellung mit App Bundle und einfache Freigabe von Test-Builds
- Neue Tools zur Optimierung der App-Größe und zur Steigerung der Installationen bei Google Play