在用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 //查看当前用户环境变量
相关推荐
这篇文档将详细介绍“android-sdk_r24.4.1-linux+jdk-8u144-linux-x64.rar”压缩包中的关键知识点,这是一份专门为Android开发准备的工具集合,包含了Android SDK和JDK 1.8的Linux版本。 首先,让我们来看看JDK...
总结来说,`android-sdk-aapt-25.0.2-linux`是专为Linux用户设计的一个特定版本的Android资源处理工具,它在Android应用开发流程中起着核心作用,处理资源编译、打包和验证等多个关键任务。对于在Linux系统上进行...
《Android SDK详解——基于android-sdk_r21-windows.zip》 Android SDK(Software Development Kit)是谷歌为开发者提供的用于创建Android应用程序的工具集。在本文中,我们将深入探讨`android-sdk_r21-windows.zip...
【HBuilderX离线SDK】是专为开发者设计的一款便捷工具,它允许用户在没有网络连接的情况下也能进行Android应用的开发工作。这个特定版本——"Android-SDK@3.1.12.80813_20210429",是一个历史版本的SDK,适用于那些...
1. **解压下载的zip文件**:首先,你需要解压"android-sdk_r24.4.1-macosx.zip"到你希望存放的位置,通常推荐在用户目录下创建一个专门的文件夹,如`~/Documents/AndroidSDK`。 2. **运行SDK Manager**:通过解压...
aapt.exe用于在eclipse中建立安卓项目时eclipse有红色警告,经过排查报错的是一个"R"的错误,正常情况下这个R文件会被生成到创建的项目目录中,然而此时项目中并没有该文件,将这个aapt.exe放在AVD Manager.exe所在...
2. **Android SDK Build-Tools**:用于构建Android应用的工具集,例如aapt(Android Asset Packaging Tool)和dx(Dalvik Executable工具)。 3. **Android SDK Platform**:特定Android版本的系统库,包括API接口和...
2. **Build Tools**:这部分提供了编译和构建APK所需的工具,如`dx`(将Java字节码转换为Dalvik字节码)、`aapt`(Android Asset Packaging Tool)用于资源打包和签名,以及`apkbuilder`用于生成最终的APK文件。...
在本文中,我们将探讨一个与Linux系统中软件依赖和库版本相关的问题,特别是关于gedit文本编辑器在Ubuntu 16.04上遇到的"symbol lookup error"。该问题通常发生在尝试执行gedit或某些其他应用程序时,由于库文件不...
《Android SDK:构建移动应用的基础》 Android SDK(Software Development Kit)是开发Android应用程序的核心工具集,它提供了必要的库、工具和文档,帮助开发者构建、调试和发布Android应用。在本篇文章中,我们将...
当您下载并解压这个文件后,您需要将其放置到您的Android SDK安装路径下的 **build-tools** 目录中,以便系统能够正确识别和调用这些工具。 **Android build-tools** 是Android SDK的一个关键组件,它提供了许多...
5. **Build Tools**:包含编译应用所需的各种工具,例如aidl(Android Interface Definition Language)用于处理接口定义,dx用于转换字节码,以及aapt(Android Asset Packaging Tool)用于处理资源文件。...
SDK Manager是Android开发环境中的一个重要工具,主要用于管理和更新Android SDK组件。在给定的压缩包文件"sdk-tools-linux-4333796.zip_rar.rar"中,我们可以找到适用于Linux操作系统的SDK Tools版本4333796。这个...
3. **Build Tools**:Android Build Tools提供了一系列自动化构建工具,如aapt(Android Asset Packaging Tool)、dx(Dalvik bytecode compiler)和apkbuilder,用于构建APK文件。 4. **Android Libraries**:SDK...
"android-sdk/tools/lib" 是Android SDK中的一个关键目录,它存储了工具目录下的库文件,这些库文件对SDK工具的正常运行至关重要。下面我们将详细探讨这个目录及其内容。 首先,"lib" 目录通常是存放库文件的地方,...
Android Build Tools是构建过程的关键部分,包括aapt(Android Asset Packaging Tool)用于处理资源文件,dx用于将类文件转换为Dalvik格式的.dex文件,以及ProGuard,一个代码混淆和优化工具,用于保护应用免受逆向...
《Android-sdk_r24.3.4-windows/adt-bundle-windows-x86-20140624》是一个针对Windows平台的Android开发者工具包,它包含了Android SDK和ADT(Android Development Tools),主要用于支持Android应用的开发、调试...
aapt(Android Asset Packaging Tool):编译应用程序的资源文件(包括AndroidManifest.xml和你的Activities的xml文件),生成R.java文件,这样你就可以从你的java代码中引用资源。 aidl:把.aidl 接口转换成java接口...
aapt version:Android Asset Packaging Tool, v0.2-1532339 aapt size:1432KB 最新aapt.exe 运行时解决了“aapt.exe已停止工作”的bug,运行正常了。 使用方法: aapt工具也支持很多子命令。 aapt l[ist]:列出资源...
1. **Build Tools v23.x.x**:每次Android SDK更新都会包含最新的构建工具,这些工具改进了编译过程,增加了新的构建选项,如支持AAPT2(Android Asset Packaging Tool 2),优化资源处理。 2. **Gradle插件更新**...