LinuxCommandLibrary

zipalign

Zip archive alignment tool.

TLDR

Align the data of a ZIP file on 4-byte boundaries

$ zipalign [4] [path/to/input.zip] [path/to/output.zip]
copy


Check that a ZIP file is correctly aligned on 4-byte boundaries and display the results in a verbose manner
$ zipalign -v -c [4] [path/to/input.zip]
copy

SYNOPSIS

To align infile.zip and save it as outfile.zip:

zipalign [-f] [-p] [-v] [-z] align infile.zip outfile.zip

To confirm the alignment of existing.zip:

zipalign -c [-p] [-v] align existing.zip

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

DESCRIPTION

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

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.

Caution: You must use zipalign at one of two specific points in the app-building process, depending on which app-signing tool you use:

The adjustment is made by altering the size of the “extra” field in the zip Local File Header sections. Existing data in the “extra” fields may be altered by this process.

For more information about how to use zipalign when building your application, please read “Signing Your Application”: https://developer.android.com/tools/publishing/app-signing.html

OPTIONS

-c

Check alignment only (does not modify file)

-f

Overwrite existing outfile.zip

-p

Memory page alignment for stored shared object files

-v

Verbose output

-z

Recompress using Zopfli

AUTHORS

The Android Open Source Project.

SEE ALSO

ZIPTIME(1) https://developer.android.com/studio/command-line/zipalign.html

Copied to clipboard