Уменьшить размер apk с Yandex mapkit

Использую в приложении Yandex mapkit

implementation 'com.yandex.android:maps.mobile:4.0.0-lite'

При сборке размер apk увеличился с 17Мб до 117Мб. С разработчиками связался, пока молчат. на GitHub нашёл их ответ:

Начиная с версии 3.1 мы разбили mapkit на части, которые можно подключать по отдельности. Теперь можно убрать directions, search, places и masstransit из build.gradle, если их функциональность не используется. Если получится убрать их все, размер должен уменьшиться раза в два.

Как можно убрать directions, search, places и masstransit из build.gradle?


Ответы (1 шт):

Автор решения: Ruslan

В моем случае появился похожий кейс, когда подняли minSDK с 21 до 24.

Мне помогло уменьшить размер apk почти в 2 раза добавление вот этого кода в gradle:

android {
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
}

подробнее об этом - в документации.

другой вариант - добавить эту строчку в Manifest.xml:

android:extractNativeLibs="true" 

подробнее об этом почитать можно тут и вот тут.

Но нужно иметь ввиду, что это уменьшит размер apk, но увеличится размер уже установленного приложения. Как сказано в документации, если вы выкладываете на Google Play свой несжатый apk, то консоль его сожмет еще лучше, и размер установленного приложения будет меньше, чем если выложить сжатый apk описанным выше способом.

Если есть возможность, то лучше использовать aab, вместо apk.

→ Ссылка