使用ANT将Android打包成Jar包

本文主要实现使用ANT,将Android项目打包成jar,为方便其他项目使用。

ANT可以去官网下载(http://ant.apache.org/

先介绍打包的步骤,打包脚本下方贴出

 步骤:

          1,将build.xml脚本文件放置到需要打包的文件项目工程更目录下,例如项目mobilebase

        2,根据build.xml中相关提示进行参数的配置(需要在环境变量中配置ANDROID_HOME变量)

        3,在命令行中进入到build.xml所在的根目录下(例如:mobilebase)

        4,输入命令:ant -f build.xml

        5,打包完毕

 

  以下为Ant脚本build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="mobilebase" basedir="." default="clean">
    <!-- ant 环境-->
    <property environment="env"/>
    <!-- 需要编码的源代码目录-->
    <property name="src.dir" value="src"/>
    <!-- 编译后class存放的目录-->
    <property name="class.dir" value="classes"/>
     
    <!-- jar包的名称-->
    <property name="jar.name" value="${ant.project.name}.jar"/>
    <!-- 项目依赖包的路径-->
    <property name="extern-libs" value="libs"></property>
     
    <!-- 加载android项目对于sdk版本,需要保证target属性存在-->
    <loadproperties srcfile="project.properties"></loadproperties>
     
    <!-- Android SDK 目录 -->
    <property name="sdk-folder" value="${env.ANDROID_HOME}"/>
    <!-- SDK 指定目录 -->
    <property name="sdk-platform-folder" value="${sdk-folder}/platforms/${target}"></property>
      
    <!-- 引入第三方jar包和android。jar-->
     <path id="extern.libs.classpath"> 
            <fileset dir="${extern-libs}">    
                <include name="*.jar"/>    
            </fileset>    
          <fileset dir="${sdk-platform-folder}">
            <include name="*.jar"/>
         </fileset>
      </path>
    <!-- 初始化 -->
    <target name="init">
        <mkdir dir="${class.dir}"/>
    </target>
    <!-- 编译源文件-->
    <target name="complie" depends="init">
        <javac srcdir="${src.dir}" encoding="UTF-8" destdir="${class.dir}" includeantruntime="true" classpathref="extern.libs.classpath"></javac>
    </target>
    <!-- 将源文件 打包成jar包 -->
    <target name="jar" depends="complie" description="class to jar">
        <jar destfile="${ant.project.name}.jar" encoding="UTF-8" basedir="${class.dir}"/>
    </target>
    <!-- 清除class文件 -->
    <target name="clean" depends="jar">
        <delete dir="${class.dir}"/>
    </target>
</project>

 

posted @ 2014-01-05 21:31  whroid  阅读(1022)  评论(0编辑  收藏  举报