Google Play Store will make app bundles a requirement in 2021
(für neue Programme)
Fuck Google, ihr müßt aber auch alles kaputt machen oder einschränken was mir an Android gefällt.
Worum es da geht:
Android "Apps" sind in APK-Dateien verpackt. Da ist alles drin was das Programm benötigt um zu funktionieren.
Wenn ich ein Programm installieren oder sichern will, brauche ich nur diese eine APK Datei zu besitzen.
In der APK Datei sind dann auch Sachen drin, die nicht auf jedem Gerät benötigt werden, wie z.B. Grafiken für Geräte mit anderer Pixeldichte oder native Bibliotheken für andere Architekturen (32Bit, 64Bit, ARM, X64).
Das einzige was meiner Erfahrung nach davon eine relevante Größe einnehmen kann sind die nativen Bibliotheken. Bei manchen Programmen sind diese wirklich relativ groß.
Daher gibt es die Möglichkeit mehrere APKs zu bauen, z.B. eine für ARM und eine für x86. Der PlayStore liefert dann das jeweils passende Programm aus. Das gesamte Programm ist dabei aber immer noch in jeweils einer APK Datei gespeichert.
Vor ca. 2 Jahren hat dann Google eine neue Möglichkeit eingeführt ein Programm aufzuteilen: Split APKs bzw. App Bundles.
Hier besteht ein Programm dann wie der Name schon sagt aus mehreren APKs. Die Aufteilung schaut dann so aus:
Basis APK
DPI APKs
Sprach APKs (für jede Sprache eine!)
Plattform APKs (x86...)
Von denen werden dann nur die installiert, die das Gerät gerade benötigt. Besonders unverständlich sind mir die Sprach APKs - die brauchen insgesamt nur wenig Platz und wenn man die Systemsprache ändert fehlt die Sprache im Programm.
Imo eine völlig unnötigte Zersplitterung, die kaum Platz spart - von den Plattform-Bibliotheken mal abgesehen.
Problem an der Sache ist nun folgendes:
App Bundles kann der normale APK-Installer des Systems nicht installieren!!!
Es geht über adb und manche Programme können das mittlerweile auch (Total Commander, Apkmirror hat eine eigene App dafür gebaut).
Installierte APKs können noch gesichert werden, der aktuelle Total Commander kann das z.B., Für die Bennenung der Split APKs gibt es aber keinen Standard, jeder macht das etwas anders, was dann eine spätere Installation in einer anderen Umgebung erschwert. Und vor allem fehlen dann evtl. Sprach und DPI Ressourcen.
Eine große Frechheit:
Diese Split APKs erzeugt der PlayStore selbst, der Entwickler kann diese gar nicht selbst hochladen (was natürlich auch ein wenig Arbeit wäre, eine App kann durchaus aus 20 APKs bestehen).
Damit das funktioniert benötigt Google den
privaten Signaturkey des Entwicklers! Bisher kann der Entwickler APK Dateien selber signieren.
Wenn ich Google Böses unterstellen will, dann machen die das vor allem um alternative Stores bzw. Anbieter von APKs(APKMirror etc.) zu verärgern. Die Platzersparnis ist verglichen mit den vorherigen Möglichkeiten, einfach mehrere komplette APKs zu erzeugen, verschwindend gering in der heutigen Zeit, wo ein einziges Bild schon mal 10MB haben kann.
Edit
lol - manchmal können Programme dadurch sogar größer werden.