"aapt"错误。编译器预构建被中止。

5

我正在使用Eclipse 4.2.2和Android SDK 22.0.1构建一个使用Facebook和Google Play Services库的Android应用程序。然而,我遇到了一个问题:每次我包含其中一个或两个库时,aapt详细模式都会在某些点崩溃,就像这样(我认为即使关闭详细模式,也会发生崩溃,因为R.java文件没有在我的项目中创建):

[2013-06-21 01:33:40 - Project]     (new resource id com_facebook_placepickerfragment_list_row from /Users/Solens/workspace/FacebookSDK/res/layout/com_facebook_placepickerfragment_list_row.xml)
[2013-06-21 01:33:41 - Project]     (new resource id com_facebook_us
[2013-06-21 01:33:41 - Project] 'aapt' error. Pre Compiler Build aborted.

如果不包括库,该项目可以编译成功。我尝试了多种解决方案,例如清理->构建项目,尝试更新SDK工具(但我使用的是最新版本),但这些方法都没有奏效。我甚至尝试切换操作系统到Windows 7(我使用的是Mountain Lion),但是出现了相同的问题。
有趣的是,我有另一个项目,两个库都被添加了进去,唯一的区别是这个其他项目比我的崩溃项目资源少得多。
我已经陷入这个问题两周了,仍然没有找到解决方案。
提前感谢您的帮助。
注:相关问题 -> 在生成资源ID时出现aapt错误

我也遇到了同样的错误。你解决了吗? - Felix
2
尝试使用不同版本的Android SDK Build Tools。在版本19中,我除了“aapt”错误之外什么都没看到。预编译器构建被中止。在18.1.1版本中,aapt列出了它无法解析的缺失资源。 - Onko
2个回答

8

我遇到了同样的错误,并尝试按照@Onko在第二条评论中建议的使用旧版Android构建工具来解决问题。Android构建工具v19不会报告您的资源文件中的错误。

所以我所做的就是,在SDK Manager中重新下载Build-tools v18并删除v19.0.1,然后重新启动eclipse并清理并强制eclipse重新构建项目。之后,我找到了我的资源XML文件中的错误。


2
我已经尝试了这个解决方案,适用于其他的项目。我已经把这个项目放下了,继续我的生活。谢谢! - nigonzalezm
下载最新的v19和20构建工具对我很有用。现在我可以继续编程了。谢谢大家。 - Paulo Pedroso

1
我曾多次遭遇这个令人讨厌的错误,每次都花费数小时才找到确切原因。其中一个可能原因是菜单XML中存在格式错误,例如ifRoom拼写错误
<menu xmlns:android="http://schemas.android.com/apk/res/android" >    
    <item
        android:showAsAction="iFroom|withText" 
        ...
    />

</menu>    

它没有被XML编辑器检测到,也没有报告错误。Aapt仅在没有错误消息的情况下崩溃。还要小心菜单XML中其他类型的拼写错误。似乎菜单XML验证工具不完整。


我在考虑这样的事情,但是我没有时间在那个项目中进行更深入的调试。我正在使用Android进行开发,我将会特别关注XML文件。谢谢! - nigonzalezm
即使我的问题不是ifRoom的拼写错误,但这个建议帮助我解决了问题,避免了在其他地方浪费数小时的时间。如果菜单中有错误,这个问题通常会持续存在。感谢你,兄弟。 - Elltz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接