Search code examples
androidrealm

Realm adding extra size to my apk


The initial size of my apk was 2.3 MB before adding Realm library, after adding the same, the apk size increased to 10.61 MB, is it possible to reduce the size, if yes how? if not then please recommend an alternate to Realm


Solution

  • You can use abi splits to reduce size of APK.

    Normally (without splits) it includes files to support almost all architectures (ARM7, ARMv7, ARM64, x86, MIPS) This is why it's too big.

    With abi splits, android studio will generate APK for each architecture, and each APK will not include files for any other architecture

    Just add below section in gradle file. Also check this realm documentation

    splits {
        abi {
            enable true
            reset()
            include 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'x86', 'x86_64'
        }
    }
    

    Important

    Each distrubtion(APK) will only work on appropriate device. So we can say, app-x86_64-release.apk will not work on armeabi-v7a architectured device. If you try, you'll face Failure [INSTALL_FAILED_NO_MATCHING_ABIS] error.

    You can also check these documentations.