Zipalign

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:

  • Jeśli używasz apksigner, zipalign należy użyć przed podpisaniem pliku APK. Jeśli podpiszesz Plik APK korzystający z apksigner i wprowadź w nim dalsze zmiany, a jego podpis zostanie unieważniony.
  • Jeśli używasz: jarsigner (niezalecane), zipalign należy użyć po przesłaniu pliku APK została podpisana.

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.