自定义build.xml使用ANT打包
2016-05-05 10:47
337 查看
以前多渠道自动打包都是用批处理命令,写出来的批处理又臭又长。后来看有个师兄用ANT,发现真的是打包神奇。另外还有gradle更高级些,这个还没仔细研究。
下面贴一个支持Windows和Mac双系统的打包脚本,注意,这个脚本并没有编译Android项目,只是演示一下复制和压缩操作,还有对不同操作系统的识别和处理。大家用的到的可以借鉴下。
<?xml version="1.0" encoding="UTF-8"?>
<project name="make_target_zip" default="compile">
<!-- first create our properties -->
<condition property="isWindows">
<os family="windows" />
</condition>
<condition property="isMac">
<os family="mac" />
</condition>
<property name="zip_name" value="target/GameContent.zip" />
<mkdir dir="target" />
<copy todir="target/res/res" failonerror="false" overwrite="true">
<fileset dir="res" includes="**"/>
</copy>
<target name="compile_windows" if="isWindows">
<property environment="env" />
<condition property="sdk.dir" value="${env.QUICK_V3_ROOT}">
<isset property="env.QUICK_V3_ROOT" />
</condition>
<copy todir="src/cocos" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/cocos" includes="**"/>
</copy>
<copy todir="src/framework" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/framework" includes="**"/>
</copy>
<exec executable="${env.QUICK_V3_ROOT}/quick/bin/compile_scripts.bat">
<arg line="-i src -o target/game.zip"/>
</exec>
<delete file="${zip_name}" failonerror="false"/>
<zip destfile="${zip_name}">
<fileset dir="" includes="config.json"/>
<fileset dir="target" includes="game.zip"/>
<zipfileset dir="target/res"/>
<!--<zipfileset dir="scripts" prefix="src"/>-->
</zip>
<delete file="target/game.zip" failonerror="false"/>
<delete dir="target/res" failonerror="false" quiet="true" />
</target>
<target name="compile_mac" if="isMac">
<property environment="env" />
<condition property="sdk.dir" value="${env.QUICK_V3_ROOT}">
<isset property="env.QUICK_V3_ROOT" />
</condition>
<copy todir="src/cocos" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/cocos" includes="**"/>
</copy>
<copy todir="src/framework" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/framework" includes="**"/>
</copy>
<exec executable="/bin/sh">
<arg value="-c"/>
<arg value="${env.QUICK_V3_ROOT}/quick/bin/compile_scripts.sh -i src -o target/game.zip"/>
</exec>
<delete file="${zip_name}" failonerror="false"/>
<zip destfile="${zip_name}">
<fileset dir="" includes="config.json"/>
<fileset dir="target" includes="game.zip"/>
<zipfileset dir="target/res"/>
<!--<zipfileset dir="scripts" prefix="src"/>-->
</zip>
<delete file="target/game.zip" failonerror="false"/>
<delete dir="target/res" failonerror="false" quiet="true" />
</target>
<!-- run everything from our main target -->
<!-- the other targets will only be run when their properties are true -->
<target name="compile" depends="compile_windows, compile_mac">
<echo message="Running Compile target" />
<echo message="os.name = ${os.name}" />
<echo message="os.arch = ${os.arch}" />
<echo message="os.version = ${os.version}" />
</target>
</project>
下面贴一个支持Windows和Mac双系统的打包脚本,注意,这个脚本并没有编译Android项目,只是演示一下复制和压缩操作,还有对不同操作系统的识别和处理。大家用的到的可以借鉴下。
<?xml version="1.0" encoding="UTF-8"?>
<project name="make_target_zip" default="compile">
<!-- first create our properties -->
<condition property="isWindows">
<os family="windows" />
</condition>
<condition property="isMac">
<os family="mac" />
</condition>
<property name="zip_name" value="target/GameContent.zip" />
<mkdir dir="target" />
<copy todir="target/res/res" failonerror="false" overwrite="true">
<fileset dir="res" includes="**"/>
</copy>
<target name="compile_windows" if="isWindows">
<property environment="env" />
<condition property="sdk.dir" value="${env.QUICK_V3_ROOT}">
<isset property="env.QUICK_V3_ROOT" />
</condition>
<copy todir="src/cocos" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/cocos" includes="**"/>
</copy>
<copy todir="src/framework" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/framework" includes="**"/>
</copy>
<exec executable="${env.QUICK_V3_ROOT}/quick/bin/compile_scripts.bat">
<arg line="-i src -o target/game.zip"/>
</exec>
<delete file="${zip_name}" failonerror="false"/>
<zip destfile="${zip_name}">
<fileset dir="" includes="config.json"/>
<fileset dir="target" includes="game.zip"/>
<zipfileset dir="target/res"/>
<!--<zipfileset dir="scripts" prefix="src"/>-->
</zip>
<delete file="target/game.zip" failonerror="false"/>
<delete dir="target/res" failonerror="false" quiet="true" />
</target>
<target name="compile_mac" if="isMac">
<property environment="env" />
<condition property="sdk.dir" value="${env.QUICK_V3_ROOT}">
<isset property="env.QUICK_V3_ROOT" />
</condition>
<copy todir="src/cocos" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/cocos" includes="**"/>
</copy>
<copy todir="src/framework" failonerror="false" overwrite="true">
<fileset dir="${env.QUICK_V3_ROOT}/quick/framework" includes="**"/>
</copy>
<exec executable="/bin/sh">
<arg value="-c"/>
<arg value="${env.QUICK_V3_ROOT}/quick/bin/compile_scripts.sh -i src -o target/game.zip"/>
</exec>
<delete file="${zip_name}" failonerror="false"/>
<zip destfile="${zip_name}">
<fileset dir="" includes="config.json"/>
<fileset dir="target" includes="game.zip"/>
<zipfileset dir="target/res"/>
<!--<zipfileset dir="scripts" prefix="src"/>-->
</zip>
<delete file="target/game.zip" failonerror="false"/>
<delete dir="target/res" failonerror="false" quiet="true" />
</target>
<!-- run everything from our main target -->
<!-- the other targets will only be run when their properties are true -->
<target name="compile" depends="compile_windows, compile_mac">
<echo message="Running Compile target" />
<echo message="os.name = ${os.name}" />
<echo message="os.arch = ${os.arch}" />
<echo message="os.version = ${os.version}" />
</target>
</project>
相关文章推荐
- Android Studio使用教程(六):Gradle多渠道打包
- JavaScript 组件之旅(三):用 Ant 构建组件
- 为Android应用增加渠道信息 自动化不同渠道的打包过程的使用详解
- 使用YUI+Ant 实现JS CSS压缩
- Android rom解包打包工具
- Android客户端程序Gradle如何打包
- Python打包方法Pyinstaller的使用
- php打包网站并在线压缩为zip
- Linux tar 压缩打包命令使用方法第1/2页
- ubuntu 14.04 安装 apache ant教程
- Windows下apache ant安装、环境变量配置教程
- java ant 配置及构建项目图文教程
- Java操作Ant压缩和解压文件及批量打包Anroid应用
- ant使用指南详细入门教程
- Java随手笔记8之包、环境变量和访问控制及maven profile实现多环境打包
- java打包成可执行的jar或者exe的详细步骤
- Python代码的打包与发布详解
- Python cx_freeze打包工具处理问题思路及解决办法
- Python脚本文件打包成可执行文件的方法
- Ant+Jmeter+Jenkins 环境配置初探