本人是在集成Ant和Maven多渠道打包中遇到 了问题: 项目有Is Library项目,打包时打不到类,打包后缺引用项目中的东西,所以用了以下方法。
首先说明 ,这是一个笨办法,不过确实没办法解决,只能这样了。
我的情况 是这样的,用maven打包时只打把在pom.xml依赖的包(或一个项目)打进apk里,如果不采用maven来管理则会出问题,但是有的时候第
三方的项目不一定是maven项目或者其它原因就不能在依赖里做,扯远了。说正题,咱们的Android项目可以通过Is Library的方式加到Libraries中,这样
就可以达到重用或者模块化的开发,但是在Ant打包的时候(除eclipse自带的)就不会被打到Apk里面,所以只能在打包前先把第三方的项目或者jar编译
到我们的主项目中来再执行打包。
如果有Is Library项目,在project.properties中会生成“android.library.reference.1=../JUIBase”这样的代码,当然也可以多个2、3等等,这个时候我们可以
拿到“=”后面的值就是Is library项目的地址。通过这个地址来编译到本地目录下,然后再打包,代码如下。
Maven集成Ant打包见:Android之Maven集成Ant多渠道打包
Ant核心代码:
<!-- third project -->
<property name="thirdProject" value="../UIBase" />
<!-- 编译需要的jar; 如果项目使用到地图服务则需要maps.jar -->
<property name="android-jar" value="${sdk-platform-folder}/android.jar" />
<!-- 外部类库所在目录 -->
<property name="external-lib" value="libs" />
<property name="external-lib-ospath" value="${basedir}/${external-lib}" />
<!-- 编译后的文件放置目录 -->
<property name="outdir-target" value="target" />
<!-- 生成class目录 -->
<property name="outdir-classes-ospath" value="${basedir}/${outdir-target}" />
<!-- Compile this other project. -->
<target name="compileLibrary">
<mkdir dir="${outdir-classes-ospath}/classes" />
<javac encoding="GBK" target="1.6" extdirs="" srcdir="${thirdProject}" destdir="${outdir-classes-ospath}/classes" bootclasspath="${android-jar}" includeantruntime="on" source="1.6">
<classpath>
<fileset dir="${external-lib-ospath}" includes="*.jar" />
</classpath>
</javac>
<echo>libs_classpath..${external-lib-ospath}</echo>
</target>
<target name="maven-apk" depends="deploy, compileLibrary">
<!-- 通过 执行maven命令来打apk包,前提是先配置maven到环境变量 -->
<exec command="mvn.bat">
<arg value="-f" />
<arg value="${basedir}/pom.xml" />
<arg value="compile" />
<arg value="package" />
</exec>
<echo level="verbose">--------BUILD SUCCESSFULL---------</echo>
</target>
分享到:
相关推荐
总的来说,Ant在Android开发中的应用虽然现在已经被Gradle取代,但在处理多渠道打包和项目引用等特定场景时,仍有其独特的价值。通过熟练掌握Ant,开发者可以更灵活地控制构建过程,提高开发效率。在实际操作中,...
要开始使用Ant进行Android打包,首先需要安装Apache Ant。在给定的文件中,`apache-ant-1.9.4-bin.zip`是Ant的一个版本,你需要解压并将其添加到系统路径中,这样命令行就可以识别`ant`命令了。安装完成后,确保你的...
本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关知识点。 首先,理解Ant的基本概念是必要的。Ant基于XML,通过构建文件(通常命名为build.xml)来定义构建任务。这些任务可以包括编译源代码、...
本文将详细介绍如何利用ANT实现Android项目的自动编译、打包以及签名过程。 #### 二、准备工作 1. **下载并安装ANT**: - 访问ANT官网下载最新稳定版。 - 安装并配置环境变量,确保命令行下可执行`ant`命令。 2...
下面将详细介绍如何在Android项目中使用Ant来实现友盟多渠道打包。 首先,确保你的系统已经安装了Java Development Kit (JDK) 和 Apache Ant。这两个是构建Android应用所必需的工具。你可以通过命令行运行`java -...
本资源将详细介绍如何使用Ant进行批量多渠道打包Android应用。 首先,你需要在你的项目中集成Ant。这通常意味着在项目根目录下创建一个名为`build.xml`的Ant构建文件。这个文件是Ant的配置中心,它定义了构建过程中...
在Android开发过程中,自动化构建APK文件是提高效率的关键步骤之一。Ant是一个广泛使用的Java构建工具,它允许开发者通过XML配置文件定义构建过程。本文将详细介绍如何利用Ant来自动化打包Android应用(APK)。 ...
总结,Android的Ant多渠道打包是一个涉及Android构建工具、项目配置、代码混淆、签名和资源管理等多个环节的过程。通过熟练掌握这些知识点,开发者可以有效地管理和发布针对不同市场的定制化应用。
在Android开发中,Ant可以用来编译、打包和签名APK,使得构建过程更加自动化和灵活。 在Android多渠道打包中,主要涉及以下步骤: 1. **反编译基础APK**:使用反编译工具(如Apktool)解压原始的APK文件,将其转换...
Ant是一个基于Java的构建工具,它使用XML来描述项目构建过程,能够自动化执行编译、测试、打包等任务。下面将详细介绍如何使用Ant来批量打包Android应用。 首先,确保你已经安装了以下基本环境: 1. Java ...
本文将详细介绍如何使用ANT进行Android应用的批量打包,并涵盖如何替换渠道号,以及所需的所有资源文件。 1. **ANT工具介绍** ANT是一个基于Java的构建工具,它可以读取XML格式的构建文件(build.xml),执行编译...
标题"unity3d android 使用ant打包批处理"指的是使用Ant工具进行Unity3D Android项目的批量打包流程。这个流程旨在提高效率,尤其是在持续集成或频繁发布更新时,可以避免手动操作的繁琐和错误。 首先,你需要确保...
《Ant Design Library 3.0 与 Axure 组件库详解》 Ant Design Library 3.0 是一款专为Axure设计的组件库,旨在帮助设计师高效、精准地构建高质量的原型。Ant Design,源自阿里巴巴的前端框架,以其优雅的设计风格和...
这是我用ant打包android用的build文件,绝对可用
Java项目中的Ant打包脚本是开发过程中的一个重要环节,它使得开发者能够自动化构建、测试和部署应用程序。Ant是一个基于XML的构建工具,由Apache软件基金会开发,它在Java社区广泛使用,替代了早期的Makefile,因为...
通过ant脚本,编译打包android工程。 编译打包android工程的ant脚本,Android官方提供的打包脚本。 有注释
本文将详细介绍如何使用Apache Ant工具来编译项目并实现多渠道自动打包。 首先,了解Ant。Ant是一个开源的Java构建工具,它允许开发者通过XML配置文件定义任务来自动化构建过程。在Android开发中,Ant可以用来编译...
为了解决这个问题,"Ant批量打包工具"应运而生。Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,类似于Make或MSBuild,但具有更强大的灵活性和跨平台能力。 **Ant批量打包工具的核心功能:** 1. *...
通过以上步骤,我们可以利用Ant实现Android应用的多渠道批量打包。这种方式不仅提高了工作效率,而且确保了每个渠道包的一致性和准确性。对于大型项目或需要频繁发布更新的应用来说,这是一种非常实用的解决方案。