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

时间:2011-08-26 00:47:23

标签: android

我已经准备好撕掉我的头发,因为我无法让Eclipse脱离它认为无法找到的状态:

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

我在这个主题上发现了很多帖子,建议删除Eclipse UI中的错误,删除R.java,重建项目,重启Eclipse等等。这些事情暂时有所帮助,但是一旦我编辑一个XML文件,Eclipse再次被borked。每次更改XML文件时,重建所有源代码并重启Eclipse都会非常烦人。

阿普尔特显然在那里:

$ 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,但没有看到任何相关内容。

9 个答案:

答案 0 :(得分:14)

今天再次点击这一点,发现aapt的详细输出无济于事。它只是将aapt命令吐出到控制台并在没有错误的情况下失败。

我想我终于找到了问题的根源。我相信由于记忆力不足,aapt失败了。我的Eclipse进程使用了​​1.2GB的内存。当Eclipse运行aapt时,它会根据我的理解分配另一个 1.2GB的进程,只是为了运行aapt。

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

答案 1 :(得分:10)

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

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

事实证明,您可以通过在Preferences / Android / Build中将“Build output”设置为“Verbose”来查看aapt命令和输出。奇怪的是,当发生错误时,他们不会吐出输出。

答案 2 :(得分:5)

在我的情况下(全新的Eclipse安装,使用向导生成的新项目,如“无法将R解析为变量”之类的错误),问题结果是在首选项的Android SDK路径中缺少尾随斜杠 - >机器人。

答案 3 :(得分:4)

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

这解决了我的问题!

答案 4 :(得分:2)

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

答案 5 :(得分:1)

此错误可能是由无效的可绘制ID引起的,例如

        android:icon="@drawable/ic_action_search_whatever"

如果没有名为ic_action_search_w的绘图,那么aapt将会死亡。简单的错误,但不容易调试!

答案 6 :(得分:1)

就我而言,“Android SDK Build Tools”(版本20.0)在某种程度上被打破了。因此,我使用“Android SDK Manager”&amp;更新了该工具到最新版本(21.1)。瞧 - 它没关系:)。

答案 7 :(得分:1)

Aapt是一款32位应用程序。我正在运行ubuntu 64bit。我需要一些额外的库。 为了让aapt工作(这也修复了我对avd的问题),只需运行以下两个命令:

sudo apt-get install lib32stdc ++ 6

sudo apt-get install lib32z1

享受

答案 8 :(得分:-1)

我实际上注意到我已将我的jpg文件转换为png文件,这就是aapt错误即将发生的原因。