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 gedacht und können nicht auf Android-Geräten installiert werden. Das Android-Paket (APK) ist das installierbare, ausführbare Format für Apps unter Android. App-Bundles müssen von einem Distributor in APKs verarbeitet 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, die AAB ist nicht proprietär. Das App-Bundle ist Open Source und kann daher von jedem App-Shop unterstützt werden. Bundles werden von Google Play und einigen anderen App-Shops unterstützt.

Verhindert das Erstellen von AABs die Veröffentlichung in anderen App-Shops?

Nein, Sie können Ihre App auch in anderen App-Shops veröffentlichen. Beim Erstellen Ihrer App können Sie je nach dem für jeden App-Shop erforderlichen Veröffentlichungsformat gleichzeitig AABs und APKs erstellen.

Wie viel Arbeit ist für die Verwendung einer AAB erforderlich?

Für die meisten Apps ist das Erstellen eines AAB mit dem Erstellen eines APKs vergleichbar, da Sie beim Erstellen 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 bereits Entwickler AABs?

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

Verhindert AAB, dass Nutzer Apps per Sideload installieren?

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 zum Bereitstellen optimierter APKs verwendet, kann es dann sein, dass Nutzer, die diese APKs teilen, Probleme haben?

Es gab immer schon seltene Fälle unter Android, in denen APKs nicht direkt von einem Gerät auf ein anderes übertragen werden konnten, unabhängig davon, ob die App über APKs oder AABs veröffentlicht wurde. Insbesondere wenn APKs für ein Gerät optimiert wurden (z. B. für eine bestimmte Chiparchitektur), kann es bei der direkten Übertragung 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 müssen ein oder mehrere 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 bei Google Play und in anderen App-Shops veröffentlichen, die AABs unterstützen, und gleichzeitig APKs in anderen App-Shops oder auf Websites veröffentlichen, die AABs nicht unterstützen.

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

Nein. Private Apps, die im Managed Google Play veröffentlicht werden, können entweder mit APKs oder AABs veröffentlicht werden. Wenn Sie eine neue interne App erstellen, können Sie App-Signaturschlüssel ändern auswählen und die App-Signatur von Google Play deaktivieren, wenn Sie ein selbst signiertes, internes APK veröffentlichen möchten.

Play App-Signatur

Was ist die Play App-Signatur?

Jedes APK unter Android muss kryptografisch mit einem App-Signaturschlüssel signiert sein, 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 stammt jedes App-Update nach der Erstinstallation vom selben Schlüsselinhaber. So wird das Risiko von schädlichen App-Updates verringert. Die 2017 eingeführte App-Signatur von Google Play ist der Schlüsselverwaltungsdienst von Google Play, mit dem die App-Signaturschlüssel von Google Play-Entwicklern für ihre über Google Play vertriebenen Apps geschützt und verwaltet werden. Außerdem wird die Signatur mit Play App Signing auf die APKs angewendet, die Google Play aus hochgeladenen AABs generiert. 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?

App-Signaturschlüssel waren jahrelang eine Herausforderung für Play-Entwickler. Wenn der Schlüssel verloren geht, können Sie keine App-Updates mehr an Nutzer senden. Wenn ein Schlüssel manipuliert wird, sind Nutzer einem Risiko durch schädliche Updates ausgesetzt. Bei der Softwareverteilung ist es üblich, dass die Vertriebskanäle die Schlüssel für die von ihnen vertriebene Software speichern und verwalten, da dies diese Risiken minimiert. Play App Signing wurde 2017 eingeführt, um das Risiko zu vermeiden, dass Google Play-Vertriebsschlüssel verloren gehen, um Google Play-Nutzer nach einem Schlüsselkompromittierungsfall zu schützen und um Entwicklern die Vorteile der kontinuierlichen Sicherheitsinvestitionen von Google zu bieten.

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

Google schützt Entwicklerschlüssel in derselben branchenführenden sicheren Infrastruktur, die auch für den Schutz der eigenen Schlüssel von Google verwendet wird. Die Schlüssel werden verschlüsselt auf gesperrten, speziellen Schlüsselverwaltungsservern mit strengen ACLs und manipulationssicheren Prüfpfaden für alle Vorgänge gespeichert. Informationen zu den Cloud-Sicherheitsabläufen und Best Practices von Google finden Sie online.

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

Ja. Wenn Sie eine neue App erstellen, können Sie entweder festlegen, dass Google einen App-Signaturschlüssel in Ihrem Namen generiert und speichert, oder Sie können 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 nach der Lektüre des Artikels So funktionieren App-Updates dazu entschieden haben, denselben Signaturschlüssel für mehrere App-Shops zu verwenden, ist das weiterhin möglich. Denken Sie daran, dass dadurch jeder App-Shop App-Updates für Ihre App über alle Shops hinweg ausführen kann. Sie haben zwei Möglichkeiten:

  • Sie können einen Schlüssel lokal generieren und eine Kopie davon bei Google Play hochladen. So können Sie denselben Schlüssel verwenden, der auch 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 Distributions-APKs aus der Play Console herunterladen, die mit dem von Google generierten Schlüssel signiert sind, und diese APKs für den Vertrieb 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 anzugeben?

Ja, die Play App-Signatur unterstützt die Option „Schlüsselaktualisierung“ für Apps, die vor August 2021 erstellt wurden. So kann die App Play App Signing mit einem neuen App-Signaturschlüssel verwenden. Wenn Sie diese Option verwenden möchten, müssen Sie nach der Umstellung 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 sind. 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 bisherigen Installationen auf den aktualisierten Schlüssel migriert (z.B. wenn Nutzer zu einem neuen Mobilgerät wechseln).

Kann derselbe App-Signaturschlüssel für Apps verwendet werden, die vor und nach August 2021 erstellt wurden?

Es wird generell 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. Alternativ können Sie beim Konfigurieren der Play App-Signatur eine Kopie des vorhandenen App-Signaturschlüssels hochladen. Wenn Sie den vorhandenen App-Signaturschlüssel nicht freigeben möchten, können Sie die Option „Schlüsselaktualisierung“ für Ihre App verwenden, die vor August 2021 veröffentlicht wurde, um Play App Signing zu verwenden. So können sowohl Ihre App, die vor August 2021 erstellt wurde, als auch Ihre App, die nach August 2021 erstellt wurde, denselben neuen Schlüssel verwenden.

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

Ja. Sie können den Schlüssel einer App ändern, indem Sie in der Play Console eine Schlüsselaktualisierung anfordern.

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

Sie können jederzeit Artefakte von Google Play und aus der Play Console unter Neueste Releases und Bundles herunterladen und prüfen. Außerdem können Sie mit der Play Developer API bald APKs überprüfen, bevor Sie sie einem Release-Track zuweisen. Sie können auch die optionale Funktion Codetransparenz für App-Bundles verwenden. Mit Codetransparenz können Sie und Ihre Endnutzer einen App-Shop wie Google Play zur Rechenschaft ziehen, wenn es um den bereitgestellten Code geht.

Wie funktioniert die Codetransparenz für App-Bundles?

Die Codetransparenz ist eine optionale Funktion, mit der Sie einen App-Shop, über den Ihre App vertrieben wird, für den bereitgestellten Code zur Rechenschaft ziehen können. Wenn Sie Codetransparenz verwenden möchten, generieren Sie zum Zeitpunkt des Builds eine Codetransparenzdatei in Ihrer App, die Ihren Code darstellt. Das ist eine Datei, die Hashes des Codes Ihrer App enthält. Sie signieren es mit Ihrem eigenen privaten Transparenzschlüssel, den nur Sie haben. Sie müssen Google niemals Ihren Codetransparenzschlüssel zur Verfügung stellen. Anschließend können Sie auf einem Gerät eine installierte APK prüfen und überprüfen, ob die von Ihnen signierte Datei zur Codetransparenz weiterhin mit dem Code der APK übereinstimmt. So können Sie sich darauf verlassen, dass der Code, der durch Codetransparenz überprüft wurde, nicht geändert wurde, auch wenn das APK selbst während der Bereitstellung noch einmal signiert wurde. Wenn eine Abweichung vorliegt, wurde der Code während der Bereitstellung geändert. Codetransparenz ersetzt keine APK-Signaturen und ist keine Funktion der Android-Plattform.

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

Welche Größenbeschränkungen gelten für Google Play-Apps bei der Verwendung von AABs?

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

Unterstützt Google Play Erweiterungsdateien (OBBs) für AABs?

Nein. Google Play unterstützt keine Erweiterungsdateien für AABs. Erweiterungsdateien (OBB) sind eine ältere 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, das größer als 200 MB ist, bei Google Play?

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

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

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 und im externen Speicher der App gespeichert werden, sind sie nicht sehr sicher. Mit Play Asset Delivery (PAD) können OBBs bei Spielen, die größer als 200 MB sind, ersetzt werden, indem das gesamte Spiel als einzelnes App-Bundle im Play Store veröffentlicht wird. Neben einem einfacheren Veröffentlichungsprozess und flexiblen Bereitstellungsmodi bedeutet PAD, dass für Updates weniger Gerätespeicherplatz benötigt wird. Dies kann zu höheren Installationsraten führen. Da ASTC jetzt auf etwa 80 % der Geräte unterstützt wird, kannst du mit der Funktion zum Targeting auf das Texturkomprimierungsformat von PAD ASTC-Inhalte auf Geräten bereitstellen, die es unterstützen. Sie können Ihre Anzeigen auf die größte Anzahl von Geräten ausrichten und gleichzeitig die verfügbare Hardware und den Gerätespeicher effizient nutzen.

Von AABs freigeschaltete Google Play-Bereitstellungsfunktionen

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

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

Was ist Play Feature Delivery?

Eine der Funktionen von App-Bundles besteht darin, 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. Anders als früher, als alles zur Installationszeit als eine Datei bereitgestellt werden musste. Mit Play Feature Delivery können Sie anpassen, welche Funktionsmodule wann und auf welchem Gerät bereitgestellt werden sollen. Dabei stehen Ihnen die Bereitstellungsmodi „Bei Installation“, „Bedingt“ und „On-Demand“ zur Verfügung. So können Sie die App-Größe verringern, was zu mehr Installationen führt, und die App an Ihre Anforderungen anpassen. So können Sie beispielsweise eine selten verwendete Funktion wie den Kundensupport auf Anfrage für die Nutzer bereitstellen, die sie benötigen, anstatt sie bei der Installation bereitzustellen. Dadurch wird die Größe der Erstinstallation für alle Nutzer reduziert. Sie können auch eine vollständige App für High-End-Geräte und eine kleinere App mit optionalen On-Demand-Funktionen für Einstiegsgeräte mit Daten- und Gerätespeichereinschränkungen bereitstellen.

Was ist die Play Asset Delivery?

Mit Play Asset Delivery können Spieleentwickler die Nutzerfreundlichkeit verbessern und die Wartezeit der Nutzer verkürzen, indem große Assets zum optimalen Zeitpunkt dynamisch ausgeliefert werden. Bei Spielen, die Play Asset Delivery verwenden, kann auch das Targeting auf Texturkomprimierungsformate verwendet werden. So erhalten Ihre Nutzer nur die für ihr Gerät geeigneten Assets, ohne dass Speicherplatz oder Bandbreite verschwendet wird.

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

Nein. Bei der Play Feature Delivery und der Play Asset Delivery kommunizieren 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 von Google Play zusätzlichen Mehrwert bietet. Andere App-Shops, die App-Bundles und APKs verwenden, bieten Entwicklern eigene App-Shop-Dienste an.