Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to reduce and compress an apk file in android

Tags:

android

I have one apk file but its file size is 22.4 MB. It's huge, so I need to reduce or compress the apk file in android. What is the right way to reduce and compress the apk file size?

like image 744
Shreyash Rabadiya Avatar asked Aug 19 '14 09:08

Shreyash Rabadiya


2 Answers

You can compress an APK file (rar, zip), but it has to be decompressed in order to work.

If the apk file to large to distribute you can:

  1. Use expansion files: http://developer.android.com/google/play/expansion-files.html
  2. Create multiple versions of your apk: http://developer.android.com/google/play/publishing/multiple-apks.html (e.g. no hdpi files for ldpi devices)
  3. Use ProGuard

    ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining classes, fields, and methods using short meaningless names. Finally, it preverifies the processed code for Java 6 or higher, or for Java Micro Edition.

    If you use Eclipse, A default configuration file will automatically be added to your Project. But this default configuration only covers general cases, so you most likely have to edit it for your own needs.

  4. Remove unused resources: https://code.google.com/p/android-unused-resources/

  5. Optimize your images by using tools like 9patch and png optimizers
  6. Remove everything that is only used for debugging purposes (debug classes, or even Log() methods). Also try removing unnecessary .so files
like image 182
Mdlc Avatar answered Oct 21 '22 07:10

Mdlc


You can ZipAlign the signed apk to compress it.

Usage:

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

Example:

D:\android-sdk\android-sdk\tools>zipalign -f -v 4 "C:\Users\Joisar\Desktop\project_name\appname_signed.apk" "C:\Users\Joisar\Desktop\project_name\appname__zipaligned.apk"

Note:

Kindly checkout the apk whether it is zipaligned or not by following command, if it's not zipaligned, then do it.

zipalign -c -v 4 "C:\Users\Joisar\Desktop\project_name\appname_signed.apk"
like image 42
Mehul Joisar Avatar answered Oct 21 '22 09:10

Mehul Joisar