Skip to content Skip to sidebar Skip to footer

Reduce Apk Size Android

I am facing a problem with app size in android. The scenario is, I developed my android app in Android Studio 2.0 and the size of apk was 23 MB. After that, I upgraded my IDE to an

Solution 1:

1) Replace all of Images,Icons with vector drawable

2) Turn on pro guard like following goto build.gradleapp level

and put these lines

**shrinkResources true

minifyEnabled true**

3) Remove unused classes,drawable and methods and strings and use LINT's private method analyser which reduces method count

JAVA's Hidden cost

4) In android studio 2.2 and above they have added apk analyser tool in Build menu. Use that to analyse APk

5) if app size goes beyond 100mb use feature called split apk. there are two methods of spliting apk ABI and Density Splits

Solution 2:

Do this changes in your build.gradle(Module:app) file. It decreases the apk size almost (40-50)%.

android {
// Other settings

  buildTypes {
      release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
  }
}

It reduces the size of classes.dex files and res folder.

It is recommended to that you should use webp file format instead of BMP, JPG, PNG for better compression.

For reference, you can use: https://developer.android.com/studio/write/convert-webp.html

For more details on apk compression you can refer:

https://developer.android.com/topic/performance/reduce-apk-size.html

https://medium.com/how-you-can-decrease-application-size

Solution 3:

Points to reduce APK size:

Make sure to do it

1. Use vector drawable
2. Use xml drawable to create simple view
3. Rotate images using xml drawable to reuse (eg. in case of arrow buttons)
4. Create drawable through code
5. Use aaptOptions { cruncherEnabled = false } to compress images
6. Use webP format for large images
7. Avoid enumerations and use @IntDef annotation
8. Use shrinkResources true in gradle to remove unused resources
9. Use resConfig “en” in gradle to remove other localization

Post a Comment for "Reduce Apk Size Android"