Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to zipalign the apk file in Windows

I have signed and packaged the Xamarin application
and so have created the apk file using Visual Studio.

How can I zipalign this file in Windows?

like image 462
tubefavorites.com Avatar asked Apr 28 '16 13:04

tubefavorites.com


3 Answers

Make sure you have the Android SDK build-Tools installed then check where your SDK is installed mine was at C:\Program Files(x86)\Android\android-sdk\build-tools\23.0.1\zipalign You will find zipAlign in the android build tools then use it like so:

C:\Program Files(x86)\Android\android-sdk\build-tools\23.0.1\zipalign -v 4 infile.apk outfile.apk

Usage

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

zipalign [-f] [-v] <alignment> infile.apk outfile.apk

To confirm the alignment of existing.apk:

zipalign -c -v <alignment> existing.apk

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

Flags:

-f : overwrite existing outfile.zip

-v : verbose output

-c : confirm the alignment of the given file

output from windows (extra parameters not in the Docs :O) :

Zip alignment utility
Copyright (C) 2009 The Android Open Source Project

Usage: zipalign [-f] [-p] [-v] [-z] <align> infile.zip outfile.zip
       zipalign -c [-v] <align> infile.zip

<align>: alignment in bytes, e.g. '4' provides 32-bit alignment
-c: check alignment only (does not modify file)
-f: overwrite existing outfile.zip
-p: page align stored shared object files
-v: verbose output
-z: recompress using Zopfli

ZipAlign Docs

like image 117
Iain Smith Avatar answered Oct 23 '22 03:10

Iain Smith


I spent a good few minutes searching for the Android command line build tools. They were nowhere to be found inside either of the Program Files directories. Apparently, on my system the tools were in the following location:

C:\Users\{username}\AppData\Local\Android\Sdk

I found the location inside Android Studio by going to File > Project Structure > SDK Location.

Edit: Obviously, "my system" is Windows - specifically Windows 10.

like image 16
Tomas Eklund Avatar answered Oct 23 '22 03:10

Tomas Eklund


For windows 10 set PATH variable to

C:\Users\<NAME>\AppData\Local\Android\Sdk\build-tools\<version>

And then run the command from the location where application is present

zipalign -v 4 <YOUR_APP_NAME> app-release-final.apk
like image 11
rohan parab Avatar answered Oct 23 '22 04:10

rohan parab