zipalign to narzędzie do wyrównywania archiwów ZIP, które pomaga upewnić się, że wszystkie nieskompresowane pliki
w archiwum
są wyrównane względem początku pliku. Dzięki temu będzie można uzyskać dostęp do plików bezpośrednio przez
mmap(2)
, co eliminuje konieczność kopiowania tych danych w pamięci RAM i zmniejsza wykorzystanie pamięci przez aplikację.
Użyj narzędzia zipalign, aby zoptymalizować plik APK przed jego dystrybucją w tej usłudze
użytkowników. Jeśli tworzysz kreacje w Android Studio, które korzysta z wtyczki Androida do obsługi Gradle (AGP), jest to
odbywa się automatycznie. W takim przypadku należy nadal używać polecenia zipalign, aby sprawdzić, czy pakiet APK
jest wyrównany, ale nie trzeba go wyrównywać. Ta dokumentacja jest przeznaczona głównie dla opiekunów
do niestandardowych systemów kompilacji.
Uwaga: musisz użyć zipalign w konkretnym momencie
w procesie tworzenia. Ten punkt zależy od używanego narzędzia do podpisywania aplikacji:
Aby uzyskać wyrównanie, zipalign zmienia rozmiar pola "extra" w nagłówku pliku lokalnego w formacie ZIP.
sekcji. Ten proces może też spowodować zmianę dotychczasowych danych w polach "extra".
Wykorzystanie
Jeśli Twój plik APK zawiera biblioteki udostępnione (pliki .so), użyj typu -P 16
aby się upewnić, że są wyrównane do granicy 16 KB, odpowiedniej dla adresu mmap(2)
w przypadku urządzeń 16 KiB i 4KiB. W przypadku innych plików, których wyrównanie jest określane przez
Obowiązkowy argument wyrównania do zipalign powinien być wyrównany do 4 bajtów
w systemach 32- i 64-bitowych.
Aby wyrównać obiekt infile.apk i zapisać go jako outfile.apk:
zipalign -P 16 -f -v 4 infile.apk outfile.apk
Aby potwierdzić wyrównanie elementu existing.apk, użyj tego polecenia.
zipalign -c -P 16 -v 4 existing.apk
Opcje
W tej tabeli znajdziesz dostępne opcje zipalign:
| Option | Opis |
|---|---|
| -c | Sprawdza tylko wyrównanie (nie modyfikuje pliku). |
| -p | Zastępuje istniejący plik wyjściowy. |
| – godz. | Pomoc dotycząca narzędzia Wyświetlanie. |
| -P <rozmiar_strony_kb> | wyrównuje nieskompresowane pliki .so do określonego rozmiaru strony w KiB. Prawidłowe opcje
dla funkcji <pagesize_kb> to 4, 16 i 64. |
| -P | 4KiB wyrównuje nieskompresowane pliki .so. Zaleca się użycie
-P 16, ponieważ interfejs -p został wycofany. |
| -V | Szczegółowe dane wyjściowe. |
| -z | Ponownie kompresuje przy użyciu Zopfli. |