zipalign

zipalign ist ein Tool zum Ausrichten des ZIP-Archivs, das dafür sorgt, dass alle unkomprimierten Dateien im Archiv relativ zum Anfang der Datei ausgerichtet sind. So kann direkt über mmap(2) . Du musst diese Daten nicht mehr in den RAM kopieren, um die Arbeitsspeichernutzung deiner App zu reduzieren.

Optimieren Sie Ihre APK-Datei mithilfe von zipalign, bevor Sie sie an weitergeben. Endanwendenden. Wenn Sie zum Erstellen Android Studio mit dem Android-Gradle-Plug-in (AGP) verwenden, ist dies automatisch erledigt wird. In diesem Fall sollten Sie dennoch mit zipalign überprüfen, ob das APK ausgerichtet, aber Sie müssen es nicht ausrichten. Diese Dokumentation richtet sich hauptsächlich an benutzerdefinierte Build-Systeme erstellen.

Achtung: Sie müssen zipalign an einer bestimmten Stelle in während des Build-Prozesses. Das hängt davon ab, welches App-Signaturtool Sie verwenden:

  • Wenn Sie apksigner verwenden, zipalign muss verwendet werden, bevor die APK-Datei signiert wurde. Wenn Sie Ihr Wenn Sie ein APK mit apksigner verwenden und weitere Änderungen am APK vornehmen, wird die Signatur ungültig.
  • Wenn Sie jarsigner verwenden (nicht empfohlen). zipalign muss verwendet werden, nachdem die APK-Datei unterzeichnet wurde.

Für eine Ausrichtung ändert zipalign die Größe des Felds "extra" im Header der lokalen Datei der ZIP-Datei. . Dieser Vorgang kann auch vorhandene Daten in den "extra"-Feldern ändern.

Nutzung

Wenn dein APK geteilte Bibliotheken (.so Dateien) enthält, verwende -P 16 um sicherzustellen, dass sie an einer Seitengrenze von 16 KiB ausgerichtet sind, die für mmap(2) geeignet ist sowohl auf Geräten mit 16 KiB als auch auf 4 KiB-Geräten. Bei anderen Dateien, deren Ausrichtung durch den Erforderliches Ausrichtungsargument für zipalign, sollte auf 4 Byte ausgerichtet sein sowohl auf 32-Bit- als auch auf 64-Bit-Systemen.

So richten Sie infile.apk aus und speichern es als outfile.apk:

zipalign -P 16 -f -v 4 infile.apk outfile.apk

Bestätigen Sie die Ausrichtung von existing.apk mit dem folgenden Befehl.

zipalign -c -P 16 -v 4 existing.apk

Optionen

In der folgenden Tabelle sind die verfügbaren zipalign-Optionen aufgeführt:

Option Beschreibung
-C Prüft nur die Ausrichtung (die Datei wird nicht geändert).
-f Überschreibt die vorhandene Ausgabedatei.
- Std. Zeigt die Tool-Hilfe an.
-P <pagesize_kb> unkomprimierte .so-Dateien werden an die angegebene Seitengröße in KiB ausgerichtet. Gültige Optionen für <pagesize_kb> sind 4, 16 und 64.
-p Mit 4 KiB werden unkomprimierte .so-Dateien auf Seiten ausgerichtet. Es wird empfohlen, -P 16, da -p eingestellt wurde.
-V Ausführliche Ausgabe.
-z Es wird mit Zopfli komprimiert.