在我最近安装了最新的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”。
有什么建议吗?
答案 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用户,可以使用以下步骤。
打开build.gradel(app)文件,
CHANGE the buildToolsVersion to "21.1.1" from your old buildToolsVersion..
4.再次同步您的项目。 那就是它。
它对我有用。