Ant构建失败

时间:2013-05-12 12:30:59

标签: android ant

我正在尝试使用 Apache Ant 通过命令行构建一个Android项目,但是它给了我 Build Failed 以及以下错误陈述:
Java.io.IOException:无法运行Program。 " .. \ android_sdk \平台工具\ 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>

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:1)

您的错误消息显示:

  

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

当你的aapt.exe位于:

  

C:\ Android的SDK窗口\ SDK \平台的工具\ aapt.exe \

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

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

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

答案 3 :(得分:1)

intellij android工作室中存在一个错误,也许还有其他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

答案 4 :(得分:0)

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