【问题标题】:android.content.res.Resources$NotFoundException with latest versions of SDK build toolsandroid.content.res.Resources$NotFoundException 与最新版本的 SDK 构建工具
【发布时间】: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


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了,感谢您将我指向该线程!安装修补的 aapt.exe 确实解决了我的问题(听起来将在构建工具 21.0.2 中修复)。不过奇怪的是,我没有收到 Google 错误报告中报告的任何 aapt 错误或崩溃。我查看了详细的输出,甚至从命令行手动运行 aapt 以确认 - 它没有报告任何错误。无论如何,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多