Уменьшить размер 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 шт):
В моем случае появился похожий кейс, когда подняли minSDK с 21 до 24.
Мне помогло уменьшить размер apk почти в 2 раза добавление вот этого кода в gradle:
android {
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
подробнее об этом - в документации.
другой вариант - добавить эту строчку в Manifest.xml:
android:extractNativeLibs="true"
подробнее об этом почитать можно тут и вот тут.
Но нужно иметь ввиду, что это уменьшит размер apk, но увеличится размер уже установленного приложения. Как сказано в документации, если вы выкладываете на Google Play свой несжатый apk, то консоль его сожмет еще лучше, и размер установленного приложения будет меньше, чем если выложить сжатый apk описанным выше способом.
Если есть возможность, то лучше использовать aab, вместо apk.