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. |