我正在尝试使用 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>
答案 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文件夹。