In this article, we will see some
easiest way to reduce the APK Size of your application. The following methods
discussed are very easy to do and remember.
6. ResConfigs:
7. Remove unused XML files:
1. Use Proguard:
Proguard is a code shrining tool
used to reduce the APK size which removes the unused byte codes from the
application and we need to take care after applying the Proguard.
Proguard can be enabled by changing
“minifyEnabled” to true.
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Reference:
2. Use Lint:
Proguard is used to remove the
unused byte code in Java side. But we need to make the same with our XML files.
To achieve this, we can use Apache Lint and it can be run simply by calling
gradlew lint in your
android studio’s terminal. It will generates an HTML report and shows the
unused resources in the unused resources section. It will analyse the res
directory of the application and not able access the assets directory of the
application.
3. Use Vector Drawable:
Android supports Vector Drawable
from the release of 23.2 support library and vector Drawable is an android
version of SVG images in Android. We can convert SVG into Vector
Drawable by Android Studio itself. It is small in size and colours
can be changed by the image itself.
Reference:
4. Optimize PNG images:
Optimize the size of the PNG
images used in the application. We can optimize the images using some online
tools like OptiPng or TinyPng
5. Shrink Resources:
Using shrinkResources attribute in the Gradle will remove all the
resources which are not being used anywhere in the project. We can add this
within the release scope of your app level build.gradle.
buildTypes {
release {
…
shrinkResources true
…
}
}
6. ResConfigs:
Remove the localized resources
which are not needed by using resConfigs.
As all the support libraries may have localized folders for the other languages
which we don’t need.
defaultConfig {
...
resConfigs "en", "hi"
...
}
7. Remove unused XML files:
You can make use of android-resource-remover is utility
that removes unused resources reported by Android Lint from your project.
8. Remove Duplicates:
Use common functionalities and
resources (or assets) to make code reusability and .reduce the line of coding.
For Example: Use colorFilter or tintMode to your ImageViews to avoid duplication of resources with
different colours.
9. Remove Debug Libraries:
We recommend that you remove all
debug-related functionality from the application. The application generally
does not see or use this data, and the Android operating system does not
require it to run the application. Hence, the debug information only wastes
space, and should be removed.
10. Use Other Image Formats:
Android also supports WEBP images
or 9-Patch Images. WEBP images are provides lossless compression rather than
PNG or JPG images. WEBP supports from Android 3.2.
11. Use
Methods Count Plugin:
Methods Count is an online tool
used to the sizes of the libraries. Using this, we can find the alternative
libraries with same functionality and less in method count.
Android Studio Plugin also
available to do the same with the Android Studio IDE itself.
12. Use Facebook’s ReDex:
Optimize your final APK (after
ProGuard) with Facebook’s ReDex. This should reduce the code size as well as
potentially improve performance.
Reference:
Note: We can use Split APK method to reduce the size of the APK. But the above mentioned methods are simpler than this. To know more click here.
Follow Us
Were this world an endless plain, and by sailing eastward we could for ever reach new distances