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

直接上build.xml文件源码:

  1. <?xml version="1.0"?>
  2. <project name="WebGame" default="makeSuperJar" basedir=".">
  3. <property name="project.name" value="development"></property>
  4. <property name="build.dir" value="${basedir}/build"></property>
  5. <property name="classes" value="${basedir}/build/classes"/>
  6. <property name="dest" value="${basedir}/dest"/>
  7. <property name="src.dir" value="${basedir}"></property>
  8. <property name="assets" value="${basedir}/assets"></property>
  9. <property name="libs.dir" value="${basedir}/libs"></property>
  10. <property name="other.libs.dir" value="${basedir}/otherLibs"></property>
  11.  
  12. <path id="project.libs.jar">
  13. <fileset dir="${basedir}/libs">
  14. <include name="**/*.jar"/>
  15. </fileset>
  16. <fileset dir="${basedir}/otherLibs">
  17. <include name="android.jar"/>
  18. </fileset>
  19. </path>
  20.  
  21. <target name="compiler" depends="version, clean, mkdir" description="编译所有java文件">
  22. <echo message="开始编译所有java文件..."/>
  23. <javac destdir="${classes}" source="1.6" includeantruntime="false" encoding="UTF-8" debug="on">
  24. <src path="${src.dir}"></src>
  25. <classpath refid="project.libs.jar"></classpath>
  26. </javac>
  27.  
  28. <copy todir="${classes}">
  29. <fileset dir="${src.dir}/src">
  30. <include name="**/*.txt"/>
  31. <include name="**/*.xml"/>
  32. <include name="**/*.handlers" />
  33. <include name="**/*.schemas" />
  34. <include name="**/*.xsd"/>
  35. </fileset>
  36. </copy>
  37. <copy todir="${classes}/assets">
  38. <fileset dir="${assets}">
  39. <include name="**/*.apk"/>
  40. <include name="**/*.txt"/>
  41. <include name="**/*.xml"/>
  42. <include name="**/*.handlers" />
  43. <include name="**/*.schemas" />
  44. <include name="**/*.xsd"/>
  45. <include name="**/*.html"/>
  46. <include name="**/*"/>
  47. </fileset>
  48. </copy>
  49. <echo message="编译所有java文件成功!"/>
  50. </target>
  51.  
  52. <target name="jar" depends="compiler" description="将class文件打成jar包">
  53. <echo message="开始打jar包..."/>
  54. <jar destfile="${dest}/${project.name}.jar">
  55. <fileset dir="${classes}">
  56. <exclude name="**/*.bak"/>
  57. <exclude name="**/*.tmp"/>
  58. </fileset>
  59. </jar>
  60. <echo message="打jar包成功!"/>
  61. </target>
  62.  
  63. <target name="mkdir">
  64. <echo message="创建需要的文件夹..."/>
  65. <mkdir dir="${classes}"/>
  66. <mkdir dir="${dest}"/>
  67. <echo message="创建需要的文件夹成功!"/>
  68. </target>
  69.  
  70. <target name="clean" description="初始化,并清除所有文件">
  71. <echo message="初始化,并清除所有文件..."/>
  72. <delete dir="${basedir}/build"></delete>
  73. <delete dir="${dest}"></delete>
  74. <echo message="初始化,并清除所有文件成功!"/>
  75. </target>
  76.  
  77. <target name="version" description="" if="ant.java.version">
  78. <echo message="开始检查编译环境"/>
  79. <echo message="编译环境: java ${ant.java.version} ..."/>
  80. <echo message="检查编译环境成功!"/>
  81. </target>
  82.  
  83. <target name="proguard" depends="jar">
  84. <echo message="开始混淆jar包..."/>
  85. <taskdef resource="proguard/ant/task.properties" classpath="${other.libs.dir}/proguard.jar" />
  86. <proguard configuration="${src.dir}/sdk.pro" />
  87. <echo message="混淆jar包成功!"/>
  88. </target>
  89.  
  90. <target name="makeSuperJar" depends="proguard" description="description">
  91. <echo message="开始合并所有jar包"/>
  92. <jar destfile="${dest}/kkkWebGameAll.jar">
  93. <zipfileset src="${libs.dir}/alipay_msp.jar"/>
  94. <zipfileset src="${libs.dir}/android-support-v4.jar"/>
  95. <zipfileset src="${libs.dir}/kkkwanMobileLog.jar"/>
  96. <zipfileset src="${libs.dir}/MobileProbe.jar"/>
  97. <zipfileset src="${libs.dir}/TenpayServiceSDK_V5.0.jar"/>
  98. <zipfileset src="${libs.dir}/UPPayAssistEx.jar"/>
  99. <zipfileset src="${libs.dir}/UPPayPluginEx.jar"/>
  100. <zipfileset src="${dest}/kkkwanWebGame.jar"/>
  101. </jar>
  102. <echo message="合并所有jar包成功!"/>
  103. </target>
  104. </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. VIM键盘图

  2. POJ 2777 Count Color【线段树】

    题目大意:要求完成以下两个操作:1.将一个区间刷上一种颜色2.询问一段区间上有多少种颜色 思路:这两个操作线段树都可以很迅速的完成,具体做法是:线段树上每个节点存这个线段上的颜色数量,由于颜色数很少, ...

  3. 【模拟】2017 Multi-University Training Contest 1 The Battle of Chibi

    acm.hdu.edu.cn/showproblem.php?pid=5542 [Accepted] #include<iostream> #include<cstdio> # ...

  4. hdu 4790 数学

    /* 题意:给你二个区间[a,b]和[c,d] 分别从中选一个数x和y使的(x+y)%p=m; 可以这样来求,先求出(0->b和0->d区间段的值)-(区间0->a-1和0-> ...

  5. Hotel(poj 3667)

    题意:询问区间最长连续空串 /* 用线段树维护区间最长连续左空串和右空串 */ #include<cstdio> #include<iostream> #define N 50 ...

  6. 金明的预算方案(codevs 1155)

    题目描述 Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只 ...

  7. 16.1117 NOIP 模拟赛

    水灾(sliker.cpp/c/pas) 1000MS  64MB 大雨应经下了几天雨,却还是没有停的样子.土豪CCY刚从外地赚完1e元回来,知道不久除了自己别墅,其他的地方都将会被洪水淹没. CCY ...

  8. BZOJ 3884 拓展欧拉定理

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 4142  Solved: 1907[Submit][Status][D ...

  9. POJ 2192 【DP】

    题意: 给三个字符串,判断前两个在相对顺序不变的情况下是否可以组成第三个字符串. 思路: 先说屌丝: dp[i][j]代表1串的前i个和2串的前j个字符在3串的前i+j个字符中最多能够组合出几个字符. ...

  10. BZOJ 1091([SCOI2003]分割多边形-分割直线)

    1091: [SCOI2003]分割多边形 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 223  Solved: 82 [Submit][id=10 ...