linux/aapt.exe: error=2, 没有那个文件或目录

在用ant编译打包android的apk文件时报错:Execute failed: java.io.IOException: Cannot run program "/android-sdk-linux/aapt.exe": error=2, 没有那个文件或目录首先,确定环境变量没有问题,谷歌之解决:由于系统为Ubuntu 64位系统,而aapt工具需要32位库的支持才能运行因此执行:sudo apt-get install ia32-libs 安装32位库安装好后仍不行,依然是这个报错,细想了下,linux系统没有exe这样的后缀,而build.xml是Windows上复制的,需要修改<condition property="exe" value=".exe" else=""><os family="windows" /></condition><condition property="bat" value=".bat" else=""><os family="windows" /></condition><property name="aapt" value="${android_platform-tools}/aapt${exe}" /> <property name="aidl" value="${android_platform-tools}/aidl${exe}" /> <property name="dx" value="${android_platform-tools}/dx${bat}" /> <property name="apk-builder" value="${android-tools}/apkbuilder${bat}" /><property name="proguard-home" value="${android-tools}/proguard/lib"/>将build.xml做如上修改,根据不同平台做个判断,当在Windows系统中时,tools下的工具均带有exe、bat后缀,否则则为空,不带后缀。在linux中终于不报错了,,但在jenkins中构建时仍然报这个错原因在于构建时,使用SVN上传到服务器中的代码中Linux中并不是使用的root用户权限,而是另一个用户的权限,当ant打包时会产生一些新的文件,而这些文件是root权限的导致在编译过程中出现跨用户。解决:在配置环境变量时确保不同用户均可以找到aapt,尽量让jenkins下的工作空间处于同一用户下,注意不同文件的文件权限。#echo $ANDROID_HOME#echo $JAVA_HOME#echo $PATH //查看当前用户环境变量

即使爬到最高的山上,一次也只能脚踏实地地迈一步。

linux/aapt.exe: error=2, 没有那个文件或目录

相关文章:

你感兴趣的文章:

标签云: