Android App Bundle: Neues Format für mobile Anwendungen

Technologie

Technologie

Datum 22.06.2018
Lesezeit 4 Min.

Android App Bundle: Neues Format für mobile Anwendungen

Auf der diesjährigen Google I/O-Entwicklerkonferenz hat der Suchmaschinenriese eine wesentliche Neuerung für die App-Erzeugung unter Android vorgestellt. Mit seiner Hilfe können Downloadgrößen dramatisch reduziert und Inhalte dynamisch nachgeladen werden. Wie das funktioniert und welche Vorteile es bringt, erfahren Sie hier.

Entwickeln Sie bereits Apps für Android oder haben entsprechende Pläne? Dann könnte die aktuelle Neuerung für Sie interessant sein. Mit dem Android App Bundle können Sie die Dateigröße bei Android-Apps demnächst deutlich verkleinern. Außerdem ist es mit Dynamic Delivery möglich, bestimmte Elemente Ihrer App erst auf Anforderung auszuliefern. So verbessern Sie die Nutzererfahrung deutlich und vermeiden Download-Abbrüche wegen zu langer Ladezeiten.

So funktioniert die dynamische APK-Erzeugung mit App Bundles

Bislang beinhalteten Apps im Google Play Store bei Auslieferung stets den gesamten Code für die Ausführung auf dem Smartphone oder Tablet, einschließlich aller Erweiterungen und Sprachdateien. Hierdurch wurde der Download auf Kundenseite häufig unnötig groß – selbst wenn beispielsweise bestimmte Sprachen oder App-Varianten am Ende gar nicht zum Einsatz kommen.

Dadurch, dass Google seitens des Play Store jedoch „weiß”, welches Gerät gerade vom Kunden verwendet wird und welche Spracheinstellung zu verwenden ist, kann die APK-Erzeugung quasi „on demand” und speziell für das zugreifende Gerät erfolgen. Das Ergebnis ist eine teils dramatische Reduzierung der Downloadgrößen – je nach Art Ihrer App.

Video: Eigenkreation

App Bundles statt statischer APK-Dateien

Während Sie früher fertig kompilierte APK-Dateien mit allen Programmbestandteilen in den Play Store hochgeladen haben, besteht nun die Möglichkeit, sogenannte App Bundles zu verwenden. Einfach erklärt beinhalten diese sowohl einen Standard-Teil (das sogenannte Basismodul), welches denjenigen Code beinhaltet, der für jedes Gerät notwendig ist, als auch dynamische Features, von denen es durchaus mehrere als separate Pakete geben kann. Bei Zugriff eines Geräts auf Ihre App erzeugt der Play Store im Hintergrund dann genau diejenige APK-Datei, die für das zugreifende Endgerät benötigt wird. Und wenn der Nutzer sich zu einem späteren Zeitpunkt zu In-App-Käufen oder für zusätzliche, optionale Module entscheidet, werden diese einfach dynamisch im Hintergrund nachgeladen.

Für Sie als Entwickler bedeutet dies mehr Flexibilität bei der Erstellung komplexer Apps, deren Downloadgröße sonst für viele Benutzer eher abschreckend gewesen wäre – aber auch einige Neuerungen, auf die wir im Folgenden kurz eingehen wollen.

Video: YouTube / Android Developers

Das sind die wesentlichen Bestandteile des neuen App Bundles

Der Aufbau des App Bundles ähnelt im Wesentlichen dem der bisherigen Gesamt-APKs. Schließlich wird bei Zugriff auf die App im Play Store ja letztlich ebenfalls eine APK-Datei generiert – nur eben mit geringerem Funktionsumfang und speziell auf das Gerät zugeschnitten. Die Hauptbestandteile des neuen App Bundles sind:

  • „base/”, „feature1/”, „feature2/” und Co.: Diese Verzeichnisse beinhalten die verschiedenen Module Ihrer App. Im „base/”-Verzeichnis liegen die Kernfunktionen der App. Die Unterverzeichnisse werden entsprechend des „split”-Attributs in Ihrem Modul-Manifest benannt und beinhalten Funktionen, die eventuell dynamisch nachgeladen werden sollen. Nähere Informationen dazu erhalten Sie auch auf der entsprechenden Google-Supportseite.
  • Protokollpufferdateien („*.pb”-Dateien): Hier werden Meta-Informationen zu Ihrer App, die für die spätere Anzeige im Play Store relevant sind, abgelegt. Außerdem können Sie in diesen Dateien festlegen, welche Codebestandteile und Ressourcen für welche Geräte(-klassen) verwendet werden sollen.
  • „manifest/”: Anders als bei den herkömmlichen APKs werden bei App-Bundles die „AndroidManifest.xml”-Dateien für jedes Modul in diesem Extra-Verzeichnis abgelegt.
  • „dex/”: Auch die ausführbaren „DEX”-Dateien (Dalvik Executable Format) werden für jedes Modul separat in diesem Verzeichnis abgelegt.
  • „root/”: Hier werden Dateien abgelegt, die später als Ressourcen für die APK-Datei (auch bei Multi-APKs) dienen.
  • „res/”, „lib/¨ und „assets/”: Diese Verzeichnisse kennen Sie bereits von der normalen APK-Entwicklung. Jedoch werden aus diesen bei Zugriff des Nutzers nur die Dateien in die APK-Datei übernommen, die zu dessen Gerätekonfiguration passen.
Video: YouTube / Android Developers

Mit Android Studio und ähnlichen Anwendungen können Sie nun damit beginnen, Ihr erstes App Bundle zu entwickeln. Wenn Sie verschiedene Varianten Ihrer App separat anbieten möchten, können Sie dies ebenfalls weiterhin tun. Allerdings ist in diesem Fall jeweils eine separate „applicationID” erforderlich, die Sie im Play Store beantragen müssen. Weitere Informationen zum Entwicklungsprozess bei App Bundles erhalten Sie auch bei den Android Developers.

Zusammenfassung

  • Mit Android App Bundles können Sie die Downloadgröße Ihrer Apps beim Kunden deutlich reduzieren.
  • Liefern Sie zur Laufzeit durch dynamische APK-Erzeugung nur diejenigen App-Bestandteile aus, die der Kunde wirklich braucht.
  • Achten Sie auf die veränderte Bundle-Struktur, bei der neue Verzeichnisse angelegt und die dynamischen Anteile bestimmt werden müssen.
  • Mit dem neuen Format können Sie Apps realisieren, deren Gesamtumfang für einen normalen Download eventuell zu groß wäre.

Was halten Sie von dem neuen App Bundle-Format? Können Sie hiervon bei Ihrer App-Entwicklung profitieren? Wir freuen uns auf Ihren Kommentar.

Facebook Twitter WhatsApp LinkedIn Xing E-Mail