自定义build.xml使用ANT打包

以前多渠道自动打包都是用批处理命令,写出来的批处理又臭又长。后来看有个师兄用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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇