【问题标题】:Ant Build Failed蚂蚁构建失败
【发布时间】:2013-05-12 12:30:59
【问题描述】:

我正在尝试通过 命令行 使用 Apache Ant 构建一个 Android 项目,但它给了我 Build Failed 以下错误语句:
Java.io.IOException:无法运行程序。 "..\android_sdk\platform-tools\aapt.exe"

D:\MediaSync\build.xml:429:执行失败:java.io.IOException:无法运行程序“..\android_sdk\platform-tools\aapt.exe”

我对这件事很陌生,所以我不知道如何克服这个错误。搜索了很多,但仍然摸不着头脑..
有谁知道的话请告诉我。

编辑:这是我的 Buil.xml 文件的一部分

<!-- General SDK location -->
<property name="sdk-folder" value="D:/sdk" />  

<!-- Preset tools location -->
<property name="android-platform-tools" value="${sdk-folder}/platform-tools"/> 

 <!-- Tools -->
<condition property="aapt" value="${android-platform-tools}/aapt.exe" else="${android-platform-tools}/aapt" >
    <os family="windows"/>
</condition>  


<!-- Generate the R.java file for this project's resources. -->
<target name="resource-src" depends="init, localization, replace-template-values">
    <echo>Generating R.java / Manifest.java from the resources...</echo>
    <exec executable="${aapt}" failonerror="true">
        <arg value="package" />
        <arg value="-m" />
        <arg value="-J" />
        <arg value="${outdir-r}" />
        <arg value="-M" />
        <arg value="${outdir.manifest}/AndroidManifest.xml" />
        <arg value="-S" />
        <arg value="${resource-dir}" />
        <arg value="-I" />
        <arg value="${android-jar}" />
    </exec>

</target>

【问题讨论】:

  • 您找到解决问题的方法了吗..?
  • @AmritpalSingh .. 我实际上不记得我当时做了什么。您可以尝试以下答案。

标签: android ant


【解决方案1】:

确保 aapt.exe 安装在相对于您的 build.xml 文件 (../android_sdk/platform-tools) 的正确路径中。该路径可能与您的项目相关,但与 build.xml 无关。

【讨论】:

  • appt.exe 正确地位于 platform-tools 文件夹中。我的 Android SDK 放在 C 盘。所以aapt.exe的完整路径如下:C:\android-sdk-windows\sdk\platform-tools\aapt.exe\。 !!! bt 仍然没有构建项目
  • 为避免混淆,您还可以使用绝对路径。
  • @javadeveloper.. 我该如何使用它?你能告诉我例子吗
【解决方案2】:

我在 64 位 fedora 平台上遇到了同样的问题,最后解决了这个问题:http://blog.mx17.net/2012/10/25/android-on-ubuntu-ioexception-on-aapt/

由于尝试在 64 位架构上运行 32 位程序而失败。 也许这会有所帮助。

【讨论】:

  • @yangxu...谢谢您的回复...我已经编译了代码..我的问题是项目安装指南不是最新的。
【解决方案3】:

你的错误信息说:

D:\MediaSync\build.xml:429:执行失败:java.io.IOException:无法运行程序“..\android_sdk\platform-tools\aapt.exe”

当您的 aapt.exe 位于:

C:\android-sdk-windows\sdk\platform-tools\aapt.exe\

显然 build.xml 尝试在 D:\ 中搜索 android_sdk\platform-tools\aapt.exe,这是错误的路径。

应该有一个属性让你指定aapt.exe的路径,或者从系统的PATH变量中读取。

要获得解决方案,请在 build.xml 中的第 429 行附近发布行。在第 429 行,应该有一个&lt;exec&gt; 任务,一定要包含该任务的全部内容(从&lt;exec ...&gt; 复制到&lt;/exec&gt;)。

【讨论】:

  • @coolcfan .. 我已经在系统变量中为“Platform-tools”文件夹和“Tools”设置了正确的路径,并在 SDK 的 Build.properties 中提到了正确的路径......如果我在 Build.xml 文件中设置 android SDK 的绝对路径然后再次构建失败..
  • @Noman 那么,${aapt} 的值是多少?这是一个属性,请检查您的 build.xml 和属性文件中的“aapt”。另外,您可以使用&lt;echo&gt; 来输出${aapt} 的值——只需在&lt;exec&gt; 之前添加一个回显行。
  • @coolcfan... 它的价值观就在你面前。它是正确的。那东西没问题..
  • @coolcfan...谢谢您的回复...我已经编译了代码..我的问题是项目安装指南不是最新的。
【解决方案4】:

在 intellij android studio 和其他 IDE 中存在一个错误,该错误指向现在存在于 build-toos 中的某些可执行文件/库的平台工具。目前的一种解决方法是为必要的文件创建 sim-links。

所以在 linux/mac 上

platform-tools$ ln -s ../build-tools/android-version-blah/bin/appt appt

platform-tools$ ln -s ../build-tools/android-version-blah/lib lib

对于 Windows,安装 LinkExtensions 并将 ln 替换为 mklink 并阅读不带参数的 mklink 的帮助。在 Windows 中,该文件为 appt.exe

【讨论】:

    【解决方案5】:

    您可以做的快速修复是将 aapt.exe 和 lib 文件夹从 build-tools 复制到 platform-tools 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多