Contenu du post
🤖 Сокращение размера APK через удаление неиспользуемых ресурсов Библиотеки от Google и других крупных компаний, как правило, содержат множество ресурсов для различных локалей, версий Android, плотностей экранов и других конфигураций. По умолчанию APK включает все эти ресурсы, даже если они не используются в вашем приложении. 🛒App Bundle позволяет доставлять только необходимые ресурсы, включая локали. Однако, если ваше приложение поддерживает смену языка внутри самого интерфейса, вы, скорее всего, отключаете динамическую доставку языковых ресурсов, чтобы все строки были доступны сразу: // build.gradle.kts android { bundle { // Отключить динамическую доставку ресурсов по локалям language.enableSplit = false density.enableSplit = true abi.enableSplit = true } } Чтобы в APK и App Bundle попали только нужные локали, необходимо явно указать их через фильтр локалей в Android Gradle Plugin: android { androidResources { localeFilters += listOf("en", "ru") } } В результате: ✅ Размер сборки уменьшится ✅ В UI не появятся ресурсы из локалей, которые вы не поддерживаете ✅ Google Play не будет доставлять ресурсы для лишних локалей Ранее вместо androidResources использовали resConfigs и resConfiguration, что позволяло удалять ресурсы не только по локалям, но и в других квалификаторах. Эту возможность пометили как deprecated. Теперь удаление предлагается только по языкам. Указание значений из других квалификаторов игнорируется. 📚 Больше полезных материалов в Базе Знаний Android разработчика от @android_broadcast #android#googleplay#лучшиепрактики