【发布时间】:2014-10-20 05:36:54
【问题描述】:
我有一个工作的 Android 项目在升级到最新版本的 SDK 构建工具后开始崩溃,并出现运行时异常“android.content.res.Resources$NotFoundException”。当我从主要活动的 onCreate() 调用 setContentView() 时发生崩溃。异常中给出的资源 ID 与主要活动的布局之一匹配。通过指定旧版本的构建工具(在 project.properties 文件中放置“sdk.buildtools=20.0”行,并通过 SDK 管理器安装旧版本),我已经能够解决该问题。在实验中,我发现最新版本的构建工具(撰写本文时为 21.0.1)以及版本 21 导致崩溃。但是使用 20 版(或更早版本)可以解决这个问题。
我很难想到最新版本的构建工具完全被破坏了,所以我认为我的项目有一些特殊的东西导致了这种情况。还有人看吗?
我还应该提到,我确实在许多其他 SO 帖子中尝试过针对此错误的一般建议——清理项目、删除 R.java 并重新生成它、重新启动 Eclipse 等。
编辑:这确实是构建工具中的一个错误。感谢 Adam 指出 aapt.exe 补丁。此外,在今天进行了更多挖掘之后,我通过提取 APK 内容发现“坏”版本完全缺少 resources.arsc 文件——所以也许这将为遇到此线程的其他人提供一些线索。
【问题讨论】:
标签: android