android.content.res.Resources $ NotFoundException与最新版本的SDK构建工具

问题描述:

我有一个工作的Android项目,在升级到最新版本之后开始崩溃,出现运行时异常“android.content.res.Resources $ NotFoundException” SDK构建工具。当我从主活动的onCreate()中调用setContentView()时发生崩溃。异常中给出的资源ID与主要活动的布局中的资源ID相匹配。我已经能够通过指定较旧版本的构建工具(将project“properties”文件中的“sdk.buildtools = 20.0”行并通过SDK Manager安装旧版本)来解决此问题。在实验中,我发现构建工具的最新版本(截至撰写本文时为21.0.1)以及版本21导致崩溃。但是使用版本20(或更旧版本)可以解决这个问题。

我很难想到构建工具的最新版本已经完全破解,所以我认为我的项目造成这种情况有些奇怪。其他人看到它?

我应该还提到,我曾尝试一般建议这个错误在许多其他SO帖子 - 清理项目,删除R.java和重新生成,重新启动Eclipse等

编辑:这确实成为构建工具中的一个错误。感谢Adam指出aapt.exe补丁。另外,在今天做了一些更深入的挖掘之后,我通过提取APK内容发现“糟糕”版本完全缺少resources.arsc文件 - 因此,这可能会为其他人提供一些线索。

它确实是bug的建筑工具。他们可能会在下一个版本中修复它。

这里是解决方法https://code.google.com/p/android/issues/detail?id=77629#c76 taht适合我。在版本21.0.1中使用它。

+0

太棒了,感谢您将我指向该主题!安装补丁aapt.exe确实解决了我的问题(这听起来像将在构建工具21.0.2中解决)。奇怪的是,我没有收到Google bug报告中报告的任何aapt错误或崩溃。我查看了详细输出,甚至从命令行手动运行aapt以确认 - 它不报告任何错误。不管怎样,谢谢! – dfinn 2014-10-21 18:05:08