File: zipalign.1

package info (click to toggle)
android-platform-build 1%3A8.1.0%2Br23-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,620 kB
  • sloc: python: 12,074; cpp: 6,068; cs: 5,512; makefile: 2,356; sh: 1,829; java: 1,359; ansic: 987
file content (92 lines) | stat: -rw-r--r-- 2,742 bytes parent folder | download | duplicates (3)
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.