minifyEnabled
и shrinkResources
очень важны в вашем файле build.gradle, если вы хотите уменьшить размер сгенерированного apk для определенных типов сборки, в идеале тип 'release'.
minifyEnabled
сжимает код, удаляя неиспользуемый код и ссылки.
shrinkResources
, с другой стороны, удаляет неиспользуемые файлы ресурсов из папки / res, на которые нет ссылок в коде.
вы должны использовать этот код
res = getResources().getIdentifier(filter_none, "string", getPackageName());
вместо
R.string.filter_none
Теперь, если вы динамически ссылаетесь на ресурс с помощью Resources.getIdentifier () ,затем, так как ресурсы, на которые нет ссылок, будут удалены, возникнет непредвиденное поведение.
Поэтому, чтобы избежать этого, при динамическом доступе к ресурсу используйте этот прием, как описано в Руководство пользователя Android на этом примере
String name = String.format("img_%1d", angle + 1);
res = getResources().getIdentifier(name, "drawable", getPackageName());