Skip to main content

zipalign tool not found in SDK - Eclipse

While exporting Android signed application package through Eclipse you get this warning
The zipalign tool was not found in the SDK.Please update to the latest SDK and re-export your application or run zipalign manually
After getting this warning I started looking for zipalign tool. After searching in SDK folder I found zipalign.exe under copy_tools folder. This folder is used by Android SDK update to keep copy of old tools.


What is zipalign tool ?


From Android documentation
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.

How to make Eclipse find this zipalign tool

To make eclipse use this zipalign.exe you have to copy it in a proper SDK folder. You can find SDK folder in
%android-sdk-path% / build_tools / {sdkfolder}
After copying zipalign.exe to this folder when you run Eclipse to sign your apk it will automatically run zipalign on apk. 

Comments

  1. Awesome! Its in fact awesome post, I have goot much clear idea concerning from this piece of writing.

    ReplyDelete
  2. Thanks on your marvelous posting! I truly enjoyed reading it, you will be a great author.I will bbe sure tto
    bookmark your blog and will often come back down the road.

    I want to encourage you to ultimately continue your great writing, have a nice morning!

    ReplyDelete

Post a Comment

Share your wisdom

Popular posts from this blog

Multithreaded C# TCP server to handle multiple clients

I decided to write a minimal multithreaded TCP based server as a blog post. Following class can serve as a skeleton for any small or large scale multithreaded TCP socket server. It do not contain much error handling , it is only to give an idea that how multithreaded server works and how it can process multiple clients using threading. using System; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; using System.Collections.Generic; namespace RandomStuffMine { public class MTServer {     public int Port{get;set;}     public Socket ServerSocket{get;set;}     private List<Client> Clients=new List<Client>();     private bool runServer=true;     public MTServer(int port)     {         Port=port;         ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);     }   ...

Decoding JPEG image file using libavcodec

I got a chance to work on a video encoding application that decodes series of jpeg files and convert them into ogg theora video file. I used the infamous libavcodec library that is used in FFMPEG . I decided to write blog posts explaining how I decode jpeg images and convert them into ogg video file. This is the first part and in this I will explain how to decode jpeg images using libavcodec. To learn how to write decoded images as a ogg video file please read http://random-stuff-mine.blogspot.com/2017/07/encoding-raw-images-to-ogg-theora-video.html Before reading this blog post you must be aware of using and setting up libavcodec. I highly recommend this tutorial to get basics of using libavcodec http://www.ffmpeg.org/doxygen/0.6/api-example_8c-source.html Allocating input format context We will first allocate input format for reading the file. We will use avformat_open_input function that will allocate AVFormatContext structure passed to it , the function detects input typ...

Encoding raw images to Ogg Theora video using libavcodec

In one of the blog posts we learned how to decode jpeg images using libavcodec. This is the second part of that post. In this we will learn how to encode decoded images (raw images) to theora and write them in ogg video file. In the end of the first part we saved our raw image in raw_data variable and its length in raw_data_size variable. Lets assume that we packaged all our decoding code in one function called "decode_jpeg_image" which has following signature int decode_jpeg_image(char *filename,int file_name_size,uint8_t *raw_data,int *raw_data_size) filename = name of jpeg file to decode file_name_size = length of jpeg file's name raw_data = contains decoded raw image on return raw_data_size = contains length of raw_data on return Now let's start working on how to encode this image in raw_data to theora and write that image to ogg video file. Finding Theora encoder We first have to find encoder for THEORA which is represented by AVCodec structure. He...