Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random android.content.res.Resources$NotFoundException_Android_Android Resources - Fatal编程技术网

Random android.content.res.Resources$NotFoundException

Random android.content.res.Resources$NotFoundException,android,android-resources,Android,Android Resources,一段时间以来,我们一直从生产应用程序(通过Play store)收到奇怪的android.content.res.Resources$NotFoundException异常 该错误通常在尝试访问res/values中声明的字符串资源时出现 举一个具体的例子,在我们的应用程序子类中,我们在onCreate()方法中加载一个字符串resources(因此在任何应用程序启动时) 字符串资源实际上存在于res/values中,并且生产应用程序在我们所有的测试设备上运行良好,因此它不会来自错误生成的R文件

一段时间以来,我们一直从生产应用程序(通过Play store)收到奇怪的android.content.res.Resources$NotFoundException异常

该错误通常在尝试访问
res/values
中声明的字符串资源时出现

举一个具体的例子,在我们的应用程序子类中,我们在
onCreate()
方法中加载一个字符串resources(因此在任何应用程序启动时)

字符串资源实际上存在于
res/values
中,并且生产应用程序在我们所有的测试设备上运行良好,因此它不会来自错误生成的
R
文件

我们猜测这是因为这些值没有在其他值包(如值hdpi或其他包)中重新定义,而将字符串值复制到所有包中实际上阻止了异常

尽管如此,根据Android文档,如果没有找到特定的值,默认情况下会使用默认包的值,因此我们不理解为什么会发生此错误


我们认为可能是定制ROM无法“正常”运行,因此我想知道其他人是否也有同样的问题,或者是否有人有其他建议。

有这么多不同配置的Android设备。因此,当我们没有将资源特定于相应的匹配设备配置[drawable hdpi、values en、layout land等]时,android系统会查看该资源的默认配置[drawable、values&layout]


因此建议在各自的位置保留默认资源和特定于配置的资源。

是的,同样的事情。我们的应用程序在大约24台物理设备上的所有测试中都运行良好,但我们偶尔会从Play store获得R$NFE,比如我们的主屏幕布局xml。哇,谢谢你的评论,我想我是唯一一个有这样问题的人。到目前为止,我找到的唯一“解决方案”是复制每个字符串资源目录中的所有字符串定义。你有其他的“修复”吗?到目前为止没有。更糟糕的是:丢失的布局XML可能是由资源加载系统中的边缘情况引起的,但我们的应用程序类也有少数情况是ClassNotFoundException。我无法切实解释这一点。我也遇到过类似的问题,结果是我不得不更改的资源(id)的名称。我知道这是一个老问题,但这里有更多的支持意见。并非只有你一个人,我从Google Play收到随机报告,其中包含这行
text\u color\u gray\u text=context.getResources().getColor(R.color.comment\u text)的相同resourceNotFoundException(非常简单!)在应用程序onCreate()期间被调用。当然,这只会发生在一些奇怪的坏自定义ROM或坏设备中,但我想知道这个错误是否与在应用程序上下文而不是活动上下文中调用这些资源有关。