.\" Automatically generated by Pandoc 2.2.1 .\" .TH "ZIPALIGN" "1" "" "" "" .hy .SH NAME .PP zipalign \- ZIP/APK alignment tool for Android application files .SH SYNOPSIS .PP To align infile.zip and save it as outfile.zip: .PP \f[B]zipalign\f[] [\-f] [\-p] [\-v] [\-z] \f[I]align\f[] \f[I]infile.zip\f[] \f[I]outfile.zip\f[] .PP To confirm the alignment of existing.zip: .PP \f[B]zipalign\f[] \-c [\-p] [\-v] \f[I]align\f[] \f[I]existing.zip\f[] .PP The \f[I]align\f[] is an integer that defines the byte\-alignment boundaries. This must always be 4 (which provides 32\-bit alignment) or else it effectively does nothing. .SH DESCRIPTION .PP \f[C]zipalign\f[] is an archive alignment tool that provides important optimization to Android application (.apk) files. The purpose is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file. Specifically, it causes all uncompressed data within the .apk, such as images or raw files, to be aligned on 4\-byte boundaries. This allows all portions to be accessed directly with mmap() even if they contain binary data with alignment restrictions. The benefit is a reduction in the amount of RAM consumed when running the application. .PP This tool should always be used to align your APK file before distributing it to end\-users. The Android build tools can handle this for you. Android Studio automatically aligns your APK. .PP Caution: You must use \f[C]zipalign\f[] at one of two specific points in the app\-building process, depending on which app\-signing tool you use: .IP \[bu] 2 If you use \f[C]apksigner\f[], \f[C]zipalign\f[] must only be performed \f[B]before\f[] the APK file has been signed. If you sign your APK using apksigner and make further changes to the APK, its signature is invalidated. .IP \[bu] 2 If you use \f[C]jarsigner\f[], \f[C]zipalign\f[] must only be performed \f[B]after\f[] the APK file has been signed. .PP The adjustment is made by altering the size of the \[lq]extra\[rq] field in the zip Local File Header sections. Existing data in the \[lq]extra\[rq] fields may be altered by this process. .PP For more information about how to use zipalign when building your application, please read \[lq]Signing Your Application\[rq]: https://developer.android.com/tools/publishing/app\-signing.html .SH OPTIONS .TP .B \-c Check alignment only (does not modify file) .RS .RE .TP .B \-f Overwrite existing \f[I]outfile.zip\f[] .RS .RE .TP .B \-p Memory page alignment for stored shared object files .RS .RE .TP .B \-v Verbose output .RS .RE .TP .B \-z Recompress using Zopfli .RS .RE .SH SEE ALSO .PP ZIPTIME(1) .PP https://developer.android.com/studio/command\-line/zipalign.html .SH AUTHORS The Android Open Source Project.