如何在Eclipse中诊断“执行aapt错误”错误?

我已经准备好把我的头发撕掉了,因为我不能把Eclipse从一个它认为找不到的地方取下来:

Error executing aapt. Please check aapt is present at /usr/local/android-sdk-linux_x86/platform-tools/aapt 

我在这个主题上发现了一些post,这些postbuild议删除Eclipse UI中的错误,删除R.java,重build项目,重启Eclipse等。这些东西暂时有帮助,但是一旦我编辑XML文件,Eclipse得到了再次。 每次更改XML文件时,重新构build所有源代码并重新启动Eclipse变得非常烦人。

aapt显然有:

 $ ls -l /usr/local/android-sdk-linux_x86/platform-tools/aapt -rwxr-xr-x 1 boris boris 3764858 2011-07-28 11:50 /usr/local/android-sdk-linux_x86/platform-tools/aapt 

有没有办法确切知道发生了什么错误? 我试着在Eclipse的控制台输出和.metadata / .log在我的项目,没有看到任何相关的。

Solutions Collecting From Web of "如何在Eclipse中诊断“执行aapt错误”错误?"

今天再试一次,发现aapt的详细输出没有帮助。 它只是吐出aapt命令到控制台,失败没有错误。

我想我终于明白了什么是错的。 我相信由于记忆力不足,我们会失败。 我的Eclipse进程使用了​​1.2GB的内存。 当Eclipse运行aapt时,它会分stream另一个 1.2GB的进程,以便运行aapt。

我看着我的进程列表,看到Firefox使用了近400MB的内存。 我杀了Firefox,然后aapt开始工作。 疯。

最后在这里find了我的问题的答案:

http://groups.google.com/group/android-developers/browse_thread/thread/bad9d488d2068260

原来你可以通过在Preferences / Android / Build中将“Build output”设置为“Verbose”来看到aapt命令和输出。 奇怪的是,当出现错误时,他们不会吐出输出。

在我的情况下(全新的Eclipse安装,使用向导生成的新项目,像“无法将Rparsing为variables”这样的错误),问题变成了在Android-> Android-> Android SDKpath中没有尾部的斜线。

提示(在Ubuntu上由Eclipsebuild议):在64位系统上,确保安装了32位库:sudo apt-get install ia32-libs

这已经解决了我的问题!

我之所以这样做,是因为其中一个资源文件中存在错误声明的ID。 我正在使用Android Studio(而不是gradle),并且我在一个样式声明中引用了一个@+id/... ,这显然是不允许的。 我不得不在其他值的XML文件中声明ID为<item type="id" name="..." />

这个错误可能是由一个无效的可绘制id引起的,比如

  android:icon="@drawable/ic_action_search_whatever" 

如果没有可绘制的叫做ic_action_search_wap aapt会死的。 简单的错误,但不容易debugging!

就我而言,“Android SDK构build工具”(版本20.0)以某种方式被打破。 所以我使用“Android SDK Manager”将工具更新到最新版本(21.1)&瞧 – 它确定:)。

Aapt是一个32位应用程序。 我正在运行的Ubuntu 64位。 我需要一些额外的库。 为了得到aapt的工作(这也解决了我的问题与AVD)只是运行这两个命令:

sudo apt-get install lib32stdc ++ 6

sudo apt-get install lib32z1

请享用

我真的注意到,我已经将我的JPG文件转换为PNG文件,这就是为什么aapt错误来了。