【问题标题】:Error: Cannot run aapt错误:无法运行 aapt
【发布时间】:2013-08-05 04:37:10
【问题描述】:

当我编译一个 android 应用程序时(我尝试使用 sdk 中的示例应用程序)。我收到此错误:

>Error executing aapt: Cannot run program "/home/roel/projects/sdk/build-tools/18.0.1/aapt": >error=2, No such file or directory: error=2, No such file or directory    KeyChainDemo        >line 1 Android ADT Problem

但是 aapt 在那个位置?

>[roel@archUSB 18.0.1]$ ls /home/roel/projects/sdk/build-tools/18.0.1/

>NOTICE.txt  aidl     dx   libLLVM.so  libbcinfo.so  llvm-rs-cc    source.properties
>**aapt**        dexdump  lib  libbcc.so   libclang.so   renderscript

注意:我也收到错误“R 无法解决”,但我很确定当我解决问题 1 时,我也解决了这个问题

【问题讨论】:

标签: android linux adt aapt


【解决方案1】:

Ubuntu 14.04.1 LTS 解决方案:

sudo apt-get update 
sudo apt-get install gcc-multilib lib32z1 lib32stdc++6

原因: aapt 需要安装 32 位库

【讨论】:

  • 找不到包
  • 说明原因,aapt需要安装32位库
  • Google proposed one更好的解决方案
  • 多么可怕的无用错误信息!为编写此内容的开发人员感到羞耻!
【解决方案2】:

问题是我的 64 位操作系统,我错过了一些 32 位库;)

【讨论】:

  • 我在 Ubuntu 13.04 64 位上遇到了同样的问题。你安装了什么库?
  • @h_rules: apt-get install ia32-libs 按照developer.android.com/sdk/installing/index.html 的说明(参见“Ubuntu 疑难解答”)
  • 在 Ubuntu 14.04 上,ia32-libs 已被弃用,因此我必须安装 lib32z1 和 lib32stdc++6
  • 为什么您的突然发现被标记为答案? :D
  • 我认为本杰明的答案应该被标记为已接受的答案。你能接受吗?
【解决方案3】:

SDK 工具 24 有一个错误,构建将失败并出现同样的错误。应该在新版本中修复了,现在解决方法在 tools/ant/build.xml 地方

<property name="aapt" location="${sdk.dir}/build-tools/22.0.1/aapt" />
<property name="aidl" location="${sdk.dir}/build-tools/22.0.1/aidl" />
<property name="dx" location="${sdk.dir}/build-tools/22.0.1/dx" />
<property name="zipalign" location="${sdk.dir}/build-tools/22.0.1/zipalign" />

在根标记中的 xml 末尾。将 22.0.1 替换为您的构建工具版本

【讨论】:

  • 救命恩人来了
  • 你真的帮了我。
  • 或者可以只在他的 build.xml 中指定 executable= 而没有 dir= 语句。
【解决方案4】:

Debian 7 Wheezy 解决方案:

sudo dpkg --add-architecture i386
sudo apt-get update 
sudo apt-get install ia32-libs

【讨论】:

    【解决方案5】:

    Ubuntu 13.10 解决方案:

    追加

    deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse 
    

    /etc/apt/sources.list.

    sudo apt-get update
    sudo apt-get install ia32-libs
    

    【讨论】:

      【解决方案6】:

      我今天也遇到了同样的问题。如果将来有人遇到此问题,请在此处尝试解决方案

      Programs running aapt in android sdk from shell and from sbt

      【讨论】:

        【解决方案7】:

        我今天也遇到了同样的问题,this 帮了我。

        Arch Linux 64 位。

        【讨论】:

          【解决方案8】:

          aapt 是一个 32 位应用程序,在 64 位机器上会失败,直到启用 32 位并添加库

          这是 Ubuntu 16.04 / 17.10 的当前解决方案

          dpkg --print-foreign-architectures  #  if below was never run this returns nothing ... afterwards it will return : i386
          sudo dpkg --add-architecture i386
          sudo apt-get -qqy update
          sudo apt-get -qqy install libncurses5:i386 libstdc++6:i386 zlib1g:i386
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-11-13
            • 2016-01-30
            • 2020-06-05
            • 1970-01-01
            • 1970-01-01
            • 2015-07-16
            • 2018-08-16
            相关资源
            最近更新 更多