platform_build/tools/zipalign
Andrew Hsieh f9613a4f73 Added BUILD_HOST_static to build statically linked executable/shared-lib
Statically linked executable/shared-lib (eg. SDK tools) are useful
in sandboxed environment.

In BUILD_HOST_static zipalign needs -lpthread indirectly:
zipalign->libutils.a->liblog.a->logd_write.c->pthread

Change-Id: I8fa91a937b728ccdf942c4ba199efb1e2e49da3d
2012-04-28 00:53:55 +08:00
..
Android.mk Added BUILD_HOST_static to build statically linked executable/shared-lib 2012-04-28 00:53:55 +08:00
README.txt Update usage and readme for zipalign. 2009-09-29 10:55:32 -07:00
ZipAlign.cpp Update usage and readme for zipalign. 2009-09-29 10:55:32 -07:00
ZipEntry.cpp Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE 2012-01-05 23:28:01 +00:00
ZipEntry.h break dependency on utils/ZipEntry.h and utils/ZipFile.h 2009-06-05 14:55:48 -07:00
ZipFile.cpp build: move Zip* from libandroidfw to libutils 2012-03-22 18:47:23 -07:00
ZipFile.h Fix build warning 2012-01-12 07:30:27 -08:00

zipalign -- zip archive alignment tool

usage: zipalign [-f] [-v] <align> infile.zip outfile.zip
       zipalign -c [-v] <align> infile.zip

  -c : check alignment only (does not modify file)
  -f : overwrite existing outfile.zip
  -v : verbose output
  <align> is in bytes, e.g. "4" provides 32-bit alignment
  infile.zip is an existing Zip archive
  outfile.zip will be created


The purpose of zipalign is to ensure that all uncompressed data starts
with a particular alignment relative to the start of the file.  This
allows those portions to be accessed directly with mmap() even if they
contain binary data with alignment restrictions.

Some data needs to be word-aligned for easy access, others might benefit
from being page-aligned.  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.

Compressed data isn't very useful until it's uncompressed, so there's no
need to adjust its alignment.

Alterations to the archive, such as renaming or deleting entries, will
potentially disrupt the alignment of the modified entry and all later
entries.  Files added to an "aligned" archive will not be aligned.

By default, zipalign will not overwrite an existing output file.  With the
"-f" flag, an existing file will be overwritten.

You can use the "-c" flag to test whether a zip archive is properly aligned.