【问题标题】:How to diagnose "Error executing aapt" error in Eclipse?如何在 Eclipse 中诊断“执行 aapt 时出错”错误?
【发布时间】:2011-08-26 00:47:22
【问题描述】:

我已经准备好扯掉我的头发了,因为我无法让 Eclipse 从它认为无法找到 aapt 的状态中解脱出来:

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 再次变得无聊。每次更改 XML 文件时都要重新构建所有源代码并重新启动 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 ,但没有看到任何相关内容。

【问题讨论】:

    标签: android


    【解决方案1】:

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

    我想我终于弄清了问题所在。我相信 aapt 由于内存不足而失败。我的 Eclipse 进程使用了​​ 1.2GB 的内存。当 Eclipse 运行 aapt 时,它会分叉该进程,据我了解,该进程分配 另一个 1.2GB 仅用于运行 aapt。

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

    【讨论】:

      【解决方案2】:

      终于在这里找到了我的问题的答案:

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

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

      【讨论】:

      • 我试图弄清楚如何使用库项目构建 Android 项目。看到 Eclipse 使用的 aapt 命令真的很有帮助!
      • 谁在 Eclipse/Google 认为“构建输出静默”会是一个明智的默认设置?
      • @benvd,我在 Eclipse 上看到了同样的问题。我将构建选项设置为详细,但是我无法确定实际构建过程显示在哪个窗口中。
      • 这里一样,构建很冗长,但是输出在哪里?!
      • 输出在控制台窗格中。但是,我必须重新启动 eclipse 才能显示输出。
      【解决方案3】:

      在我的情况下(新的 Eclipse 安装,使用向导生成的新项目,诸如“无法将 R 解析为变量”之类的错误)问题出在 Preferences->Android 的 Android SDK 路径中缺少斜杠.

      【讨论】:

      • 这里将错误更改为“执行 aapt 时出错:返回代码 139”。
      【解决方案4】:

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

      这解决了我的问题!

      【讨论】:

      • 我用 crouton 和 xfce4 ubuntu 在 Chromebook 像素中安装了 Android Studio。我的 Android Studio 安装是最新的。当我尝试一个 hello world 示例时,我得到了这个错误。安装 32 位库已解决。仅供参考
      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

                android:icon="@drawable/ic_action_search_whatever"
        

        如果没有名为 ic_action_search_whatever 的drawable,aapt 就会死掉。简单的错误,但不容易调试!

        【讨论】:

          【解决方案7】:

          就我而言,“Android SDK 构建工具”(20.0 版)以某种方式被破坏了。所以我使用“Android SDK Manager”将工具更新到最新版本(21.1),瞧——它没问题:)。

          【讨论】:

            【解决方案8】:

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

            sudo apt-get install lib32stdc++6

            sudo apt-get install lib32z1

            享受

            【讨论】:

              【解决方案9】:

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

              【讨论】:

              • 这没有回答问题,whitch 是:“有没有办法确切知道发生了什么错误?”
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-12-01
              • 2014-08-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多