Android 执行aapt时出错:返回代码132问题

Android 执行aapt时出错:返回代码132问题,android,adt,android-sdk-tools,aapt,Android,Adt,Android Sdk Tools,Aapt,自从大约一个月前更新我的Android SDK以来,我遇到了无数的问题,给我留下了一个没有功能的开发环境 最初的问题是v7 appcompat支持库,它抛出了大约100个与各种资源相关的错误。很明显,它们是与Android v5相关的资源,快速搜索堆栈溢出意味着我意识到v7 appcompat库的目标是API 19。将相关设置更改为目标API 21修复了资源错误 然而,从那以后我遇到的问题是,任何试图快速构建库项目的尝试都会以 执行aapt时出错:返回代码132 …而且库项目未正确构建 我最初的

自从大约一个月前更新我的Android SDK以来,我遇到了无数的问题,给我留下了一个没有功能的开发环境

最初的问题是v7 appcompat支持库,它抛出了大约100个与各种资源相关的错误。很明显,它们是与Android v5相关的资源,快速搜索堆栈溢出意味着我意识到v7 appcompat库的目标是API 19。将相关设置更改为目标API 21修复了资源错误

然而,从那以后我遇到的问题是,任何试图快速构建库项目的尝试都会以

执行aapt时出错:返回代码132

…而且库项目未正确构建

我最初的设置是使用EclipseKepler,但后来我尝试了Android Studio v1.0.1(相同的aapt错误代码),今天我将EclipseLuna安装到了Kepler的一个单独目录中,并重新安装了ADT和SDK。Eclipse的每个版本都有自己的工作区

所以基本上我有两个版本的Eclipse(每个版本都有自己的ADT/SDK设置和工作空间)和Android Studio,它们有自己的目录结构,这三个版本都有相同的问题

问题是,我如何诊断这个问题?公分母显然是aapt的问题,但我不知道如何解决它


我运行的是Debian Wheezy(32位)安装程序,我已经正确安装了Java 1.7(按照建议)。

某些32位系统上的aapt似乎存在问题。它在app:processDebugResources上抛出错误132,此时aapt正在“处理”准备包含在apk包中的png文件。您可以在中查看更多详细信息

一些人报告说,“修复”有问题的png文件(例如,通过在Gimp中打开并保存)可以解决问题。当然,当它们“内置”到appcompat时,要做到这一点要困难得多

在详细讨论之前,您能否说一下您是否真的在32位处理器上运行,如果是,是哪一个?使用lscpu来查找

好的,如果有人感兴趣,这里有一个解决办法,这样你就可以使用你的旧笔记本电脑用Android Studio构建应用程序。基本上,您可以剥离appcompat-v7库中的所有png文件,然后使用两个版本的aapt进行构建。旭

  • 找到appcompat-v7.aar,它的位置类似于
    ~/Android/Sdk/extras/Android/m2repository/com/Android/support/appcompat-v7/22.0.0

  • 将它(实际上是一个zip文件)解压缩到一个临时目录

  • 剥离所有png文件:
    find-名称“*.png”-exec mogrify-strip{}\

  • 重新打包文件:
    pushd-appcompat-v7-22.0.0;zip-r../appcompat-v7-22.0.0.aar;popd
  • 移动新的aar文件以替换原来的文件(这可能足以获得一个好的构建,但这不适合我)
  • 现在找到旧版本的aapt(我去了)
  • 将您刚刚获取的zip文件中的aapt版本作为aapt-17或其他文件复制到Android/Sdk/buildtools目录中
  • 将原始aapt重命名为aapt-0
  • 在aapt的两个版本之间交替使用(例如,
    ln-sf aapt-17 aapt
    ),您会发现您可以获得一个良好的构建。一个版本会在一个地方失败,另一个版本会在另一个地方失败,让你度过所有的坎坷
  • 我知道这很臭,但我已经绝望了
    下面是我所做的,这足以获得成功的构建。灵感来自彼得·塞维卡的回答

    • 将sdk降级为19.1.0,您可以从studio安装它,然后在build.gradle中更改buildToolsVersion
    • 将aapt重命名为aapt.bin,并在其位置放置一个shell脚本,该脚本只截取png压缩(args:s-i infle-o outfile),并执行一个简单的cp。我会把它粘贴在这里,但是语法高亮显示suuucks也是如此

    谢谢。我要到周末才有时间检查这个,但我会让你知道它是否适合我。事实上,我已经通过Git存储库将我的主要项目迁移回Win XP,并且能够再次编写代码。不过,让Linux机器正常工作会很好。