Подтвердить что ты не робот

Случайные android.content.res.Resources $NotFoundException

В течение некоторого времени мы получаем странное исключение android.content.res.Resources $NotFoundException из нашего производственного приложения (через Play Store).

Ошибка обычно возникает при попытке доступа к строковым ресурсам, объявленным в res/values.

Чтобы дать конкретный пример, в нашем подклассе Application мы загружаем строки ressources в метод onCreate() (поэтому при любом запуске приложения).

Строковый ресурс фактически существует в res/values, и производственное приложение отлично работает на всех наших тестовых устройствах, поэтому оно не может произойти из-за неправильного генерации файла R.

Мы предположили, что это произошло из-за того, что значения не были переопределены в других пакетах значений (например, значения-hdpi или другие пакеты) и копирование значений строк во все пакеты фактически остановили исключения.

Тем не менее, согласно документации на Android, если никаких конкретных значений не найдено, значения по умолчанию принимаются по умолчанию, поэтому мы не понимаем, почему возникает эта ошибка.

Мы думаем, что это могут быть обычные ромы, которые не работают "нормально", поэтому я хотел знать, были ли у других людей одинаковые проблемы или у кого-то были другие предложения.

4b9b3361

Ответ 1

Существует так много устройств Android с различными конфигурациями. Поэтому, когда мы не сохраняем ресурсы, специфичные для соответствующей конфигурации соответствующего устройства [drawable-hdpi, values-en, layout-land и т.д.], Система андроидов смотрит на конфигурации по умолчанию для этого ресурса [drawable, values ​​и layout].

Поэтому рекомендуется поддерживать как стандартные, так и конфигурационные ресурсы в соответствующих местах.