Häufig gestellte Fragen zu Android App Bundle

Android App Bundles

Was ist das Android App Bundle (AAB)?

Das 2018 eingeführte Android App Bundle (AAB) ist ein Veröffentlichungsformat für Android, das von Google Play und anderen App-Shops sowie von Build-Tools wie Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity und Unreal unterstützt wird.

Was ist der Unterschied zwischen AABs und APKs?

App-Bundles sind nur für die Veröffentlichung vorgesehen und können nicht auf Android-Geräten installiert werden. Das Android-Paket (APK) ist das installierbare, ausführbare Format für Android-Apps. App-Bundles müssen von einem Vertriebspartner in APKs umgewandelt werden, damit sie auf Geräten installiert werden können.

Ist das AAB ein proprietäres Format, das nur bei Google Play verwendet werden kann?

Nein, das AAB ist nicht proprietär. Das App-Bundle ist Open Source, sodass es von jedem App-Store unterstützt werden kann. Bundles werden von Google Play und einigen anderen App-Stores unterstützt.

Kann ich meine App in anderen App-Shops veröffentlichen, wenn ich AABs erstelle?

Nein, Sie können Ihre App weiterhin in anderen App-Shops veröffentlichen. Beim Erstellen Ihrer App können Sie gleichzeitig AABs und APKs erstellen, je nachdem, welches Veröffentlichungsformat für den jeweiligen App-Shop erforderlich ist.

Wie viel Aufwand ist für die Verwendung eines AAB erforderlich?

Für die meisten Apps ist die Erstellung eines AAB genauso aufwendig wie die Erstellung eines APK, da Sie bei der Erstellung einfach AAB anstelle von APK auswählen müssen. Bei einigen Apps sind möglicherweise Änderungen erforderlich, um alle Vorteile von AABs nutzen zu können.

Verwenden Entwickler bereits AABs?

Ja. Über eine Million Apps und Spiele verwenden App-Bundles, um ihre Produktionsversionen bei Google Play zu veröffentlichen, darunter die meisten beliebten Apps mit Milliarden aktiver Installationen. Wenn Sie Apps über Google Play installieren, wurden viele der Apps auf Ihrem Gerät als App-Bundles veröffentlicht.

Verhindert das AAB, dass Nutzer Apps per Sideload übertragen?

Nein, AABs verhindern nicht, dass Nutzer APKs aus beliebigen Quellen installieren. Da AAB nur ein Veröffentlichungsformat ist, ändert sich dadurch nichts an der Funktionsweise der Android-Plattform.

Wenn ein Entwickler AABs verwendet, um optimierte APKs bereitzustellen, kann es dann zu Problemen für Nutzer kommen, die diese APKs teilen?

Es gab schon immer seltene Fälle auf Android, in denen APKs nicht direkt von einem Gerät auf ein anderes übertragen werden können, unabhängig davon, ob die App über APKs oder AABs veröffentlicht wird. Wenn APKs für ein Gerät optimiert wurden (z. B. für eine bestimmte Chiparchitektur), kann es beim direkten Übertragen dieser APKs auf ein anderes Gerät zu Problemen kommen, wenn das Zielgerät nicht den Eigenschaften des ursprünglichen Geräts entspricht. In diesen Fällen muss ein APK oder eine Gruppe von APKs installiert werden, die für das Zielgerät geeignet sind.

Kann ich meine App in mehreren App-Shops veröffentlichen?

Ja, Sie können Ihre App in mehreren App-Shops veröffentlichen, unabhängig davon, ob Sie AABs verwenden. Sie können AABs gleichzeitig auf Google Play und in anderen App-Shops veröffentlichen, die AABs unterstützen, und APKs in anderen App-Shops oder auf Websites, die AABs nicht unterstützen.

Gilt die AAB-Anforderung für interne Apps, die in Managed Google Play veröffentlicht werden?

Ja. Für interne Apps, die über die Play Console in Managed Google Play veröffentlicht werden, müssen AABs veröffentlicht werden.

Die Veröffentlichung von APKs wird weiterhin über den iFrame von Managed Play unterstützt.

Play App-Signatur

Was ist die Play App-Signatur?

Jedes APK unter Android muss kryptografisch mit einem App-Signaturschlüssel signiert werden, damit es installiert werden kann. Die Android-Plattform verwendet den Schlüssel, um sicherzustellen, dass alle App-Updates mit der auf einem Gerät installierten App übereinstimmen. So wird nach der Erstinstallation dafür gesorgt, dass jedes App-Update vom selben Schlüsselinhaber stammt. Dadurch wird das Risiko von schädlichen App-Updates verringert. Die 2017 eingeführte Play App-Signatur ist der Key Management Service von Google Play, der die App-Signaturschlüssel von Play-Entwicklern für ihre über Play vertriebenen Apps schützt und verwaltet. Außerdem wird mit Play App-Signatur der Signiervorgang für die APKs ausgeführt, die in Google Play aus hochgeladenen AABs generiert werden. Die Play App-Signatur ist für neue Apps erforderlich, damit sie AABs verwenden können.

Warum hat Google die Play App-Signatur eingeführt?

Jahrelang waren App-Signaturschlüssel eine Herausforderung für Play-Entwickler. Wenn Sie den Schlüssel verlieren, können Sie keine App-Updates mehr für Nutzer bereitstellen. Wenn ein Schlüssel manipuliert wird, sind Nutzer durch schädliche Updates gefährdet. Bei der Softwareverteilung ist es üblich, dass Vertriebskanäle die Schlüssel für die von ihnen vertriebene Software speichern und verwalten, da dies diese Risiken mindert. Die Play App-Signatur wurde 2017 eingeführt, um das Risiko zu minimieren, dass Play-Vertriebsschlüssel verloren gehen, um Play-Nutzer nach einem Schlüsselkompromiss schützen zu können und um Entwicklern die Vorteile der laufenden Sicherheitsinvestitionen von Google zu bieten.

Wie sorgt Google für die Sicherheit der Play App-Signatur?

Google schützt Entwicklerschlüssel in derselben branchenführenden, sicheren Infrastruktur, die auch zum Schutz der Schlüssel von Google verwendet wird. Schlüssel werden verschlüsselt auf gesicherten, dedizierten Schlüsselverwaltungsservern mit strengen ACLs und manipulationssicheren Audit-Trails für alle Vorgänge gespeichert. Die Cloud-Sicherheitsvorgänge und Best Practices von Google sind online ausführlich beschrieben.

Kann ich den App-Signaturschlüssel auswählen, den Play für meine App verwendet?

Ja. Wenn Sie eine neue App erstellen, können Sie entweder einen App-Signaturschlüssel von Google generieren und speichern lassen oder einen eigenen App-Signaturschlüssel auswählen und eine Kopie davon hochladen.

Ich möchte denselben App-Signaturschlüssel für Google Play und andere App-Shops verwenden. Ist das noch möglich?

Wenn Sie sich entschieden haben, denselben Signaturschlüssel in mehreren App-Stores zu verwenden, nachdem Sie die Funktionsweise von App-Updates berücksichtigt haben, ist dies weiterhin möglich. Denken Sie daran, dass jeder App-Store dadurch in der Lage ist, App-Updates für Ihre App über mehrere Stores hinweg durchzuführen. Sie haben zwei Möglichkeiten:

  • Sie können einen Schlüssel lokal generieren und eine Kopie davon bei Play hochladen. So können Sie denselben Schlüssel verwenden, der von Google Play verwendet wird, wenn Sie Ihre App für andere App-Shops erstellen.
  • Sie können einen von Google generierten Schlüssel für die Play App-Signatur verwenden, dann mit dem von Google generierten Schlüssel signierte Distributions-APKs aus der Play Console herunterladen und diese APKs für die Verteilung in anderen App-Shops oder auf Websites verwenden.

Kann ich die Play App-Signatur für eine App verwenden, die vor August 2021 erstellt wurde, ohne eine Kopie meines App-Signaturschlüssels bereitzustellen?

Ja, die Play App-Signatur unterstützt eine Option zum „Schlüssel-Upgrade“ für Apps, die vor August 2021 erstellt wurden. So kann die App die Play App-Signatur mit einem neuen App-Signaturschlüssel verwenden. Wenn Sie diese Option verwenden möchten, müssen Sie nach der Aktualisierung bei jedem Release zwei Dinge hochladen: ein App-Bundle und ein altes APK, das mit Ihrem alten App-Signaturschlüssel signiert ist. Google Play verwendet Ihre AABs, um APKs zu generieren, die für neue Installationen und die zugehörigen Updates mit dem aktualisierten Schlüssel signiert werden. Gleichzeitig verwendet Google Play Ihre alten APKs für App-Updates für Nutzer, die Ihre App bereits installiert haben. Im Laufe der Zeit werden die alten Installationen zum aktualisierten Schlüssel migriert, z.B. wenn Nutzer zu einem neuen Mobilgerät wechseln.

Kann ich denselben App-Signaturschlüssel für Apps verwenden, die vor und nach August 2021 erstellt wurden?

Es wird im Allgemeinen nicht empfohlen, denselben App-Signaturschlüssel für mehrere Apps zu verwenden. Es ist sicherer, für jede App einen eindeutigen Schlüssel zu verwenden. Wenn Sie jedoch denselben App-Signaturschlüssel für mehrere Apps verwenden müssen, ist dies möglich. Sie können eine Kopie des vorhandenen App-Signaturschlüssels hochladen, wenn Sie die Play App-Signatur konfigurieren. Wenn Sie den vorhandenen App-Signaturschlüssel nicht freigeben möchten, können Sie die demnächst verfügbare Option „Schlüssel-Upgrade“ für Ihre App verwenden, die vor August 2021 veröffentlicht wurde, um Play App-Signatur zu nutzen. So können sowohl Ihre App vor August 2021 als auch Ihre App nach August 2021 denselben neuen Schlüssel verwenden.

Kann ich den von der Play App-Signatur verwendeten App-Signaturschlüssel ändern?

Ja, Apps können ihren Schlüssel ändern, indem sie in der Play Console eine Schlüsselaktualisierung anfordern.

Wie kann ich prüfen, ob Google Play unerwartete Änderungen an meinem Code vorgenommen hat?

Sie können jederzeit Artefakte von Google Play und aus Neueste Releases und Bundles in der Play Console herunterladen und prüfen. Außerdem wird die Play Developer API bald die Möglichkeit bieten, APKs zu überprüfen, bevor Sie sie für einen Release-Track festlegen. Sie können auch eine optionale Funktion namens Codetransparenz für App-Bundles verwenden. Mit der Code-Transparenz können Sie und Ihre Endnutzer einen App-Store wie Google Play für den bereitgestellten Code zur Rechenschaft ziehen.

Wie funktioniert die Codetransparenz für App-Bundles?

Die Codetransparenz ist eine optionale Funktion, mit der ein App-Shop, der Ihre App vertreibt, für den bereitgestellten Code verantwortlich gemacht werden kann. Wenn Sie Codetransparenz verwenden möchten, generieren Sie zur Build-Zeit eine Codetransparenzdatei in Ihrer App, die Ihren Code repräsentiert. Sie enthält Hashes des Codes Ihrer App. Sie signieren sie mit Ihrem eigenen privaten Schlüssel für die Code-Transparenz, den nur Sie besitzen. Sie müssen Ihren Schlüssel für die Code-Transparenz niemals an Google weitergeben. Anschließend können Sie auf einem Gerät ein installiertes APK untersuchen und prüfen, ob die von Ihnen signierte Datei zur Code-Transparenz immer noch mit dem Code des APK übereinstimmt. So können Sie sicher sein, dass der durch die Code-Transparenz verifizierte Code nicht geändert wurde, auch wenn das APK selbst während der Verteilung neu signiert wurde. Wenn es eine Abweichung gibt, ist das ein Beweis dafür, dass der Code während der Verteilung geändert wurde. Die Codetransparenz ersetzt keine APK-Signaturen und ist nicht Teil der Android-Plattform.

Große Apps und Spiele bei Google Play veröffentlichen

Welche Größenbeschränkungen gelten für Google Play-Apps, wenn AABs verwendet werden?

Die maximale Downloadgröße für komprimierte Inhalte für ein aus einem AAB generiertes Basismodul beträgt 200 MB. Google Play generiert also zuerst das Basismodul und dann alle zusätzlichen Funktionsmodule oder Asset-Packs aus Ihrem AAB. Als Nächstes prüft Google Play, ob die maximale kumulative komprimierte Downloadgröße, die ein einzelnes Gerät empfängt, 4 GB nicht überschreitet.

Werden Erweiterungsdateien (OBBs) für AABs bei Google Play unterstützt?

Nein, Google Play unterstützt keine Erweiterungsdateien für AABs. Erweiterungsdateien (OBBs) sind eine alte, Google Play-spezifische Lösung zum Veröffentlichen großer Apps und Spiele mit APKs. Für AABs, die größer als 200 MB sind, gibt es Alternativen von Google und Drittanbietern.

Wie veröffentliche ich eine App oder ein Spiel, die größer als 200 MB sind, bei Google Play?

Große Apps und Spiele, die AABs verwenden, können entweder Play-Bereitstellungsdienste wie Play Asset Delivery oder Play Feature Delivery nutzen, um das Größenlimit von 200 MB zu überschreiten, oder Content Delivery Networks von Drittanbietern verwenden.

Welche Vorteile bietet Play Asset Delivery gegenüber Erweiterungsdateien (OBBs)?

Bei Google Play waren für APKs separate Erweiterungsdateien (OBBs) erforderlich, um Nutzern zusätzliche Ressourcen zur Verfügung zu stellen. Da OBBs jedoch nicht signiert sind und im externen Speicher der App gespeichert werden, sind sie nicht sehr sicher. Mit Play Asset Delivery (PAD) können Spiele, die größer als 200 MB sind, OBBs ersetzen, indem das gesamte Spiel als einzelnes App-Bundle im Google Play Store veröffentlicht wird. PAD bietet nicht nur einen reibungsloseren Veröffentlichungsprozess und flexible Bereitstellungsmodi, sondern sorgt auch dafür, dass für Updates weniger Gerätespeicherplatz erforderlich ist. Das kann zu höheren Installationsraten führen. Da ASTC jetzt auf etwa 80 % der Geräte unterstützt wird, können Sie mit der Funktion zum Ausrichten von Texturkomprimierungsformaten im PAD ASTC auf Geräten bereitstellen, die es unterstützen. Sie können eine Vielzahl von Geräten ansprechen und gleichzeitig die verfügbare Hardware und den Gerätespeicher effizient nutzen.

Durch AABs freigeschaltete Google Play-Bereitstellungsfunktionen

Welche neuen Funktionen bietet Google Play Entwicklern, die AABs verwenden?

App-Shops wie Google Play verarbeiten AABs zu installierbaren APKs. Da wir für die APKs verantwortlich sind, können wir neue Funktionen und Dienste anbieten, die Entwicklern und Nutzern Vorteile bringen. Play bietet bereits solche Dienste an, die von Entwicklern häufig genutzt und geschätzt werden. Zwei Beispiele sind Play Feature Delivery und Play Asset Delivery.

Was ist Play Feature Delivery?

App-Bundles haben unter anderem den Vorteil, dass eine App in mehrere Module unterteilt werden kann, die als „Funktionsmodule“ bezeichnet werden. Diese Module können dann zu unterschiedlichen Zeiten dynamisch an Nutzer und Geräte ausgeliefert werden. Früher musste alles bei der Installation als eine Datei ausgeliefert werden. Mit Play Feature Delivery können Sie anpassen, welche Funktionsmodule auf welchem Gerät und wann bereitgestellt werden. Dazu stehen die Bereitstellungsmodi „Install-time“, „Bedingt“ und „On-demand“ zur Verfügung. So können Sie die Größe Ihrer App reduzieren, was zu mehr Installationen führt, und die App-Nutzung anpassen. So können Sie beispielsweise eine selten verwendete Funktion wie den Kundensupport bei Bedarf für die Nutzer bereitstellen, die sie benötigen, anstatt bei der Installation. Dadurch wird die Größe der Erstinstallation für alle Nutzer reduziert. Sie können Ihre App auf High-End-Geräten mit allen Funktionen anbieten, auf Einsteigergeräten mit Einschränkungen bei Daten und Gerätespeicher jedoch nur mit optionalen On-Demand-Funktionen.

Was ist Play Asset Delivery?

Mit Play Asset Delivery können Spieleentwickler die Nutzerfreundlichkeit verbessern und die Wartezeit für Nutzer verkürzen, indem sie große Assets dynamisch zum optimalen Zeitpunkt bereitstellen. Bei Spielen, die Play Asset Delivery verwenden, kann auch das Texturkomprimierungsformat auf das jeweilige Gerät ausgerichtet werden. So erhalten Nutzer nur die Assets, die für ihr Gerät geeignet sind, ohne dass Speicherplatz oder Bandbreite verschwendet werden.

Sind diese Google Play-Bereitstellungsfunktionen in anderen App-Shops verfügbar?

Nein. Bei Play Feature Delivery und Play Asset Delivery interagieren Apps und Spiele direkt mit dem Google Play Store. Diese optionalen Dienste sind Beispiele dafür, wie sich Google Play als App-Shop abhebt und Entwicklern und Nutzern einen zusätzlichen Mehrwert bietet. Andere App-Stores, die App-Bundles und APKs verwenden, bieten Entwicklern eigene App-Store-Dienste an.