我们的生产应用程序(通过Play商店)一直在收到奇怪的android.content.res.Resources$NotFoundException异常。这个错误通常出现在尝试访问
res/values
中声明的字符串资源时。例如,在我们的Application子类中,我们在onCreate()
方法中加载一个字符串资源(因此在任何应用程序启动时)。该字符串资源实际上存在于res/values
中,并且在我们所有的测试设备上生产应用都正常工作,因此不能是由于R
文件的错误生成导致的。我们猜测它来自于值未在其他值包(如values-hdpi或其他包)中重新定义的事实,并将字符串值复制到所有包中实际上停止了异常。但根据Android文档,如果没有找到具体的值,则默认会使用默认包的值,因此我们不明白为什么会发生此错误。我们正在考虑可能是定制rom不正常运行,因此想知道是否有其他人遇到了同样的问题或是否有其他建议。
text_color_gray_text = context.getResources().getColor(R.color.comment_text);
(非常简单!)在Application onCreate()期间被调用。当然,这只会发生在一些奇怪的坏自定义ROM或坏设备上,但我想知道这个错误是否与在Application上下文而不是Activity上下文中调用这些资源有关。 - Budius