1.  背景:

Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了。

2.  Ant 安装:

     ant的安装比较简单,下载ant压缩包(最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Program Files\apache-ant-1.9.3) ,然后配置环境变量(新建ANT_HOME环境变量,值为ant所在的目录,然后将ANT_HOME/bin添加到path中),如图:
 
         
      
 
 
     打开命令行工具,输入 ant  -version ,如果出现如下结果,说明ant 安装成功。
 
      

3. 对已存在的Android项目提供Ant支持:

打开命令行工具,切换路径到项目所在的目录(比如我在E:\GitHub\likebamboo\android-menudrawer\menudrawer-samples下有一个android项目),输入命令" android update project --name MenudrawSample -p ./ " 如下图:(其中 --name 参数是指定项目名称,可自己根据需要替换)。

这时候我们可以看到在我们的项目根目录下多了build.xml,以及local.properties两个文件。

其中local.properties写明了我们的android SDK的目录(其实是环境变量ANDROID_HOME的值,所以如果环境变量中没有这个的,请增加)。

build.xml则是ant构建的最重要脚本,打开一看,发现里面其实大部分都是写注释,有用的没几行,这是因为生成的这个build.xml引用了android SDK自带的构建脚本,具体目录是{sdk目录}/tools/ant/build.xml 。


 
 

这样,我们项目就支持ant编译打包了,但是,有人可能会说了,我的项目有引用第三方的jar包,而且还引用了其他的android library 项目,该怎么办呢? 请往下看:

4. 项目引用了其他library项目:

如果项目只是引用了第三方jar包,只要将jar包放在libs文件夹下就ok了,ant会在编译打包过程中会自动将第三方jar加进去的。但是当我们的android 项目参考了其他library项目,这时候我们最初在输入android update 命令的时候应该多一个参数 --subprojects :

你发现报错了,不要着急,这是因为那个library 还不支持ant自动编译,我们需要先让它也支持。

进入到library项目所在的目录,输入命令 android update lib-project -p ./  (注意是 lib-project);

再回到原项目,输入命令” android update project --name MenudrawSample -p ./ --subprojects ",这下就OK了。

5. 编译打包项目:

ant debug : 生成一个测试版apk,默认使用 debug key 进行签名,生成的apk(your_project_name-debug.apk)在bin目录下。

ant release : 生成一个未签名和未aligned的apk包,生成的apk(your_project_name-release-unsigned.apk和your_project_name-release-unaligned.apk)在bin目录下

      PS:之前有用过ant的项目,中心打渠道包之前记得ant clean 哦,否则可能会出现奇怪的问题
      下一篇介绍怎么在ant编译打包的时候自动加入签名信息与自动打包渠道包的方法。

最新文章

  1. 离线安装 Python 2.7, paramiko 和 tornado
  2. 单例设计模式全局缓存accessToken
  3. Windows下安装Nginx反向代理服务器
  4. 关于配置Spring框架的多个propertyConfigurer的问题
  5. Microsoft Dynamics CRM 2013 --针对特定实体,取消保存功能(包含自动保存)
  6. 在Java中>、>>、>>>三者的区别
  7. 资源(1)----封装类(连接数据库mysql,分页)
  8. java类型转化之Hbase ImmutableBytesWritable类型转String
  9. jemter转换报告生成html格式报告
  10. C# 整形数组排序
  11. Android NDK开发之Android.mk文件
  12. Nodejs in Visual Studio Code 04.Swig模版
  13. GitHub的css/js文件给墙了的解决方法
  14. 二叉排序树(BST)构造与应用
  15. ASP.NET Core开发总结
  16. python脚本练习之编译安装python
  17. vue中<select>绑定事件
  18. CodeSmith和Powerdesigner的搭建和实例化操作 转载自黄聪同学
  19. VUE图片懒加载-vue lazyload插件的简单使用
  20. CF1066D Boxes Packing

热门文章

  1. windows本地搭建grunt前端项目构建环境
  2. javascript 操作元素属性的方法
  3. yii操作数据库(AR)
  4. 九章算法系列(#5 Linked List)-课堂笔记
  5. CLR读书笔记——委托
  6. Linux基本命令(开发常用的、电脑常用的)
  7. C与C++动态分配二维数组
  8. 重新mysql-server
  9. POJ 3321 Apple Tree (DFS + 树状数组)
  10. multiset集合容器的集合运算:并、交、差