1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
.\" 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.
|