Eclipse JUNO + ADT 23.0.2资源$ NotFoundException

时间:2014-10-21 14:04:46

标签: java android eclipse adt

在我最近安装了最新的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”。

有什么建议吗?

2 个答案:

答案 0 :(得分:6)

编辑:看起来已经发布了一个解决此问题的新版本工具版本(21.0.2)!现在最好的解决方法是更新到此版本,而不是恢复到旧版本或交换aapt.exe文件。

<小时/>

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

我的答案很长:

我今天上午用同样的问题度过了更好的一半。令人沮丧的是,我工作的项目中只有两个提出了它,但它至少给了我一个起点。我发现失败的项目在其资源文件夹中包含一个zip文件,而工作项目则没有。删除此zip文件允许所有应用程序运行,但这显然不是一个足够好的解决方案。

我想在这里走出困境并假设最新的Android SDK Build-tools版本(修订版21和21.0.1)中存在错误,无法正确构建APK资产文件夹中的zip文件具有某些属性(我没有足够的研究来确定确切的触发器)。只是压缩一个空的文本文件并不足以触发这个,但我管理了一个13KB的小文件。我不知道是否有其他类型的文件导致这种情况。

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

答案 1 :(得分:0)

在搜索谷歌和其他网站后,我在过去3个小时内遇到了同样的问题

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

特别适用于classl工具版本21.0,21.0.1,21.0.2和21.1

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

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

  1. 转到您项目的Gradel Scripts文件夹。
  2. 选择文件夹build.gradel(app){而不是其他build.gradel(&#34;您的mainActivity类名&#34;)。
  3. 打开build.gradel(app)文件,

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

    4.再次同步您的项目。 那就是它。

  4. 它对我有用。