【问题标题】:Eclipse JUNO + ADT 23.0.2 Resources$NotFoundExceptionEclipse JUNO + ADT 23.0.2 资源$NotFoundException
【发布时间】:2014-10-21 14:04:45
【问题描述】:

在我最近安装了最新的 Eclipse ADT 捆绑包后,我在处理的一个旧项目中遇到了一些错误:

No known package when getting value for resource number 0x7f080028
android.content.res.Resources$NotFoundException: String resource ID #0x7f080028
at android.content.res.Resources.getText(Resources.java:222)
at android.content.res.Resources.getString(Resources.java:275)
at android.content.Context.getString(Context.java:183)
...

在我的 R 文件中,我要查找的字符串和资源 ID 之间存在正确的连接。

我尝试了几种方法来解决我的问题:

  • 清理所有项目
  • 将所有资源名称重命名为小写名称
  • 重启电脑

我之前使用“adt-bundle-windows-x86_64-20130522”(它编译时没有运行时错误)并下载“adt-bundle-windows-x86_64-20140702”,因为更新期间发生错误。

有什么建议吗?

【问题讨论】:

标签: java android eclipse adt


【解决方案1】:

编辑:似乎已经发布了一个新的构建工具版本(21.0.2)来解决这个问题!现在最好的解决办法是更新到这个版本,而不是恢复到旧版本或换出 aapt.exe 文件。


我的简短回答:现在使用旧版本的 Android SDK 构建工具。在构建工具 21 和 21.0.1 版本的资产目录中包含某些类型的文件可能存在错误 - 或者至少这就是我在更新后收到错误消息的原因。

我的长答案:

我今天早上的大部分时间都在处理同样的问题。令人沮丧的是,我参与的三个项目中只有两个展示了它,但它至少给了我一个起点。我发现失败的项目在其资产文件夹中包含一个 zip 文件,而工作项目没有。删除此 zip 文件允许所有应用程序运行,但这显然不是一个足够好的解决方案。

我将在这里冒险并假设最新的 Android SDK 构建工具版本(修订版 21 和 21.0.1)中存在一个错误,如果其中有一个 zip 文件,则无法正确构建 APK具有某些属性的资产文件夹(我没有进行足够的研究以找出确切的触发器)。仅压缩一个空文本文件不足以触发此操作,但我使用了一个 13KB 的小 zip 文件进行了管理。不知道是不是其他类型的文件造成的。

为了立即修复,我只是回到使用旧版本的构建工具。 As seen here,涉及修改project.properties 文件以包含sdk.buildtools=20(适用于Eclipse 用户)或修改build.gradle 文件以将buildToolsVersion "20" 包含到android 部分(适用于Android Studio 用户)。版本 20 让我恢复速度,而版本 21 破坏了我的应用程序。您当前安装的 Android SDK Build-tools 版本列表可以在 Android SDK Manager 的 Tools 下查看。

【讨论】:

  • 我可以确认这一点......一个项目整天都遇到同样的问题(Eclipse、更新的 ADT 等)。它在资产文件夹中有一个 .jar(第 3 方说明将其放在这里)。使用构建工具 20,它运行良好。 21,它失败了。将 .jar 移至 /libs,与构建工具 21 完美配合。
  • 看起来 AOSP 问题跟踪器已经注意到了这个错误,所以我留下了评论并加注了星标。建议的修复(替换 android-sdk\build-tools\21.0.1 中的aapt.exe)对我有用,无需进行任何其他修改。 code.google.com/p/android/issues/detail?id=77813
  • 新的 Build-tools 版本 21.0.2 解决了这个问题!非常感谢!
  • @MD1984 感谢您的确认,我编辑了我的帖子以反映新版本。真快!
【解决方案2】:

在厌倦了谷歌和其他网站的搜索之后,我在过去 3 小时内面临同样的问题

得出的结论是这个错误(无法解析符号:R)

在 Gradel 工具版本 21.0、21.0.1、21.0.2 和 21.1 中特别出现

但它已在构建工具 21.1.1 中解决。

对于 Android IDE 用户,以下步骤可以工作。

  1. 转到项目的 Gradel Scripts 文件夹。
  2. 选择文件夹 build.gradel(app) { 而不是另一个 build.gradel("your mainActivity classname")。
  3. 打开 build.gradel(app) 文件,

             CHANGE the buildToolsVersion to "21.1.1" from your old buildToolsVersion..
    

    4.再同步一次您的项目。 5.就是这样。

它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    相关资源
    最近更新 更多