为了可以实现自动化打包,下面我介绍一下如何用ant工具来打包android项目:

直接上build.xml文件源码:

<?xml version="1.0"?>
<project name="WebGame" default="makeSuperJar" basedir=".">
<property name="project.name" value="development"></property>
<property name="build.dir" value="${basedir}/build"></property>
<property name="classes" value="${basedir}/build/classes"/>
<property name="dest" value="${basedir}/dest"/>
<property name="src.dir" value="${basedir}"></property>
<property name="assets" value="${basedir}/assets"></property>
<property name="libs.dir" value="${basedir}/libs"></property>
<property name="other.libs.dir" value="${basedir}/otherLibs"></property> <path id="project.libs.jar">
<fileset dir="${basedir}/libs">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${basedir}/otherLibs">
<include name="android.jar"/>
</fileset>
</path> <target name="compiler" depends="version, clean, mkdir" description="编译所有java文件">
<echo message="开始编译所有java文件..."/>
<javac destdir="${classes}" source="1.6" includeantruntime="false" encoding="UTF-8" debug="on">
<src path="${src.dir}"></src>
<classpath refid="project.libs.jar"></classpath>
</javac> <copy todir="${classes}">
<fileset dir="${src.dir}/src">
<include name="**/*.txt"/>
<include name="**/*.xml"/>
<include name="**/*.handlers" />
<include name="**/*.schemas" />
<include name="**/*.xsd"/>
</fileset>
</copy>
<copy todir="${classes}/assets">
<fileset dir="${assets}">
<include name="**/*.apk"/>
<include name="**/*.txt"/>
<include name="**/*.xml"/>
<include name="**/*.handlers" />
<include name="**/*.schemas" />
<include name="**/*.xsd"/>
<include name="**/*.html"/>
<include name="**/*"/>
</fileset>
</copy>
<echo message="编译所有java文件成功!"/>
</target> <target name="jar" depends="compiler" description="将class文件打成jar包">
<echo message="开始打jar包..."/>
<jar destfile="${dest}/${project.name}.jar">
<fileset dir="${classes}">
<exclude name="**/*.bak"/>
<exclude name="**/*.tmp"/>
</fileset>
</jar>
<echo message="打jar包成功!"/>
</target> <target name="mkdir">
<echo message="创建需要的文件夹..."/>
<mkdir dir="${classes}"/>
<mkdir dir="${dest}"/>
<echo message="创建需要的文件夹成功!"/>
</target> <target name="clean" description="初始化,并清除所有文件">
<echo message="初始化,并清除所有文件..."/>
<delete dir="${basedir}/build"></delete>
<delete dir="${dest}"></delete>
<echo message="初始化,并清除所有文件成功!"/>
</target> <target name="version" description="" if="ant.java.version">
<echo message="开始检查编译环境"/>
<echo message="编译环境: java ${ant.java.version} ..."/>
<echo message="检查编译环境成功!"/>
</target> <target name="proguard" depends="jar">
<echo message="开始混淆jar包..."/>
<taskdef resource="proguard/ant/task.properties" classpath="${other.libs.dir}/proguard.jar" />
<proguard configuration="${src.dir}/sdk.pro" />
<echo message="混淆jar包成功!"/>
</target> <target name="makeSuperJar" depends="proguard" description="description">
<echo message="开始合并所有jar包"/>
<jar destfile="${dest}/kkkWebGameAll.jar">
<zipfileset src="${libs.dir}/alipay_msp.jar"/>
<zipfileset src="${libs.dir}/android-support-v4.jar"/>
<zipfileset src="${libs.dir}/kkkwanMobileLog.jar"/>
<zipfileset src="${libs.dir}/MobileProbe.jar"/>
<zipfileset src="${libs.dir}/TenpayServiceSDK_V5.0.jar"/>
<zipfileset src="${libs.dir}/UPPayAssistEx.jar"/>
<zipfileset src="${libs.dir}/UPPayPluginEx.jar"/>
<zipfileset src="${dest}/kkkwanWebGame.jar"/>
</jar>
<echo message="合并所有jar包成功!"/>
</target>
</project>

参考以上代码,然后适当修改成自己想需要的,就可以运行ant自动打包了!

android编译打包(用ant脚本打包)的更多相关文章

  1. [自动运维]ant脚本打包,上传文件到指定服务器,并部署

    1.根节点使用,表示根目录为当前目录,默认启动的target为build,项目名称为othersysm, <project basedir="." default=" ...

  2. 【Android开发经验】使用Ant批量打包Android应用全然指南

    本文章由Socks完毕.博客地址:http://blog.csdn.net/zhaokaiqiang1992 转载请说明. 折腾了一下午.百度了一下午,最终实现了使用Ant对Android应用的批量打 ...

  3. gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)

    近期一直在做android自己主动打包,之前已经完毕了用纯命令行的形式打包.原生态ant脚本打包.和基于android的SDK的打包.而且实现了多渠道打包,后来同事推荐了gradle,网上的资料说gr ...

  4. Android脚本打包

    最近项目中需要添加应用渠道,我使用的是友盟统计,对于不同渠道需要编译不同版本,对于开发者说编译一次,手动操作还是可以接受的,但是项目发布版本频率较高,而且渠道很多,这就是一个体力活,而且手动打包还比较 ...

  5. 关于项目既要使用ant脚本又要使用maven pom.xml文件的问题

    背景:项目使用的是ant脚本打包,但又需要maven去执行sonar代码扫描.所以项目中既有build.xml又有pom.xml build.xml设置的打包后产物文件夹为target,maven运行 ...

  6. 通过ant脚本编译打包android工程

    通过ant脚本,编译打包android工程 1.Android程序编译.打包.签名.发布的三种方式:  方式一:命令行手动编译打包  方式二:使用ant自动编译打包  方式三:使用eclipse+AD ...

  7. Android ant自动打包脚本:自动替换友盟渠道、版本号、包名

    本文最后修改时间:2014-3-10 Android项目开发时,给公司人员安装,频繁升级,版本号总需要改,太麻烦,跟着时间变,自动升级才方便. Android项目开发新版时,手机上可能要装两个版本,一 ...

  8. Android自己主动化构建之Ant多渠道打包实践(下)

    前言 上一篇(Android自己主动化构建之Ant多渠道打包实践(上))已经介绍了Android的apk是怎样构建的,本篇博客继续Ant打包的实践过程. 集成友盟统计SDK 这里以友盟统计为例,对各个 ...

  9. 在Android开发中使用Ant 二:进行一次完整的打包

    一次完整的Android打包要进行以下的几步:编译.代码混淆.打包apk.签名apk.apk优化. 为了能包涵使用NDK的情况,在这里使用一个有native代码的工程TestJni. 在工程根目录下新 ...

随机推荐

  1. Action中result的各种转发类型

    Action中result的各种转发类型 1,dispatcher:默认值 ,内部定向 <result>/WEB-INF/page/employeeAdd.jsp</result&g ...

  2. 69. JPA实体Bean的生命周期【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在使用JPA的时候,如果对bean的生命周期不了解的话,难免会碰到一些问题,比如:InvalidDataAccessApiUsageExcepti ...

  3. _063_Android_Android内存泄露

    深入内存泄露 Android应用的内存泄露,其实就是java虚拟机的堆内存泄漏. 当然,当应用有ndk,jni时,没有及时free,本地堆也会出现内存泄漏. 本文只是针对JVM内存泄漏应用,进行阐述分 ...

  4. HDU1002 大数相加

    #include <iostream> #include <iostream> #include <iomanip> #include<string> ...

  5. 洛谷P1759 通天之潜水

    题目背景 直达通天路·小A历险记第三篇 题目描述 在猴王的帮助下,小A终于走出了这篇荒山,却发现一条波涛汹涌的河拦在了自己的面前.河面上并没有船,但好在小A有n个潜水工具.由于他还要背重重的背包,所以 ...

  6. IIS文件存在但报404问题解决

    遇到一个奇怪的问题,在IIS7.5中,一些样式和JS文件存在,但访问就是报404. 根据网上搜索到的解决方法,发现解决不了,不同同样的问题引起的. 网上解决: 1.没有配置合适的MIME信息,通过添加 ...

  7. 【POJ2406】Power Strings(KMP,后缀数组)

    题意: n<=1000000,cas较大 思路:这是一道论文题 后缀数组已弃疗,强行需要DC3构造,懒得(不会)写 ..]of longint; n,m,i,j,len,ans,st:longi ...

  8. Codeforces Round #297 (Div. 2) D. Arthur and Walls [ 思维 + bfs ]

    传送门 D. Arthur and Walls time limit per test 2 seconds memory limit per test 512 megabytes input stan ...

  9. webstorm 添加markdown支持

    第一步:file---setting---plugins---搜索markdown support 安装 第二步:file---settind---file types---增加*.md处理

  10. P3371 单源最短路径【模板】 洛谷

    https://www.luogu.org/problem/show?pid=3371 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含 ...