1.下载Ant

官方网站http://ant.apache.org/bindownload.cgi

下载最新版本 

2. 解压缩后,拷贝到指定目录, 我放在 E:\Android\Ant\Tools\ant

目录结构为

-bin
-etc
-lib
-manual
.....

3. 添加环境变量 ANT_HOME = E:\Android\Ant\Tools\ant

4. 添加到PATH,把 %ANT_HOME%\bin; 添加到PATH

5. 把Eclipse的project升级,命令行为

android update project --name <project_name> --target <target_ID> --path <path_to_your_project> --subprojects

解释一下,

android: 这个是sdk里面的命令,例如我的是在 C:\Program Files (x86)\Java\adt-bundle-windows-x86\sdk\tools\android.bat最好把这个路径加到PATH里面去。

--name:注意是两个横斜杠

<project_name>: 项目名称,一般就是eclipse里面显示的project name

--target:编译的目标平台

<target_ID>: 目标平台ID。如果不知道,先运行一下 android list target,会输出如下结果,每一条前面的1、2、3、4 就是 target ID

--path: 要升级的project 路径。

<path_to_your_project>: Project 路径

--subprojects : 如果有子项目,加上这个一并更新。

参考文档:http://developer.android.com/tools/projects/projects-cmdline.html

如果引用了多个lib project,最好逐个升级.

6. 升级Project完成后,cd 到project文件夹,运行Ant debug,就可以编译了。

最后出现成功的提示

到bin文件夹,可以看到编译好的apk。

7.Release 版本

增加一个文本文件,内容如下

#keystore的路径,必须使用正斜杠 
key.store=E:/Android/keystone/my.keystore
#keystore的密码 
key.store.password=test1234
#alias名 
key.alias=test
#alias密码 
key.alias.password=test1234

第一行 也可以使用相对路径。

文件名为 ant.properties,放到Project文件夹里面。

运行Ant Release,提示成功后,到bin文件夹里面找release的APK。

8. 我遇到的编译失败

8.1  project的 java build path不正常。

通常都是gen和src,那个project多了一个internal,删掉即可。

8.3 有些java文件如果不是UTF-8,会比较麻烦,建议按照屏幕的提示逐个修改。

8.4 依赖的项目比较多,逐个编译一遍,逐个排查

8.5 解决过问题之后,先运行一下Ant Clean,在运行Ant Debug/Release

参考文档:http://www.cnblogs.com/yaozhongxiao/p/3523061.html

Ant 学习笔记的更多相关文章

  1. 【转】Ant学习笔记——自己构建Ant编译环境

    自从年初开始用NetBeans6.0,才接触到Ant. 这是今年6月份的一篇Ant学习笔记.安装 1.下载并构建环境.   去官网下载src包和bin包.解压缩它们到同一目录,运行build.bat, ...

  2. Ant学习笔记

    前言:这段时间在学习Ant,发现这是一个很强大的构建工具.你可能使用了很长一段时间,才发现Ant能做数不完的事.总之,个人觉得,Ant学习门槛低,入门简单,能大概看懂程序,写一些简单的脚本即可,剩下在 ...

  3. Ant学习笔记(1) 基础知识

    Ant Apache Ant 是一个基于 Java的构建工具. 下载Ant google.baidu.Windows用户下载zip格式.解压即可. Windows安装Ant Ant本质上是一个Java ...

  4. Ant学习笔记(2) 在Eclipse中使用Ant

    Eclipse默认提供了对Ant的支持,在Eclipse中不需要安装任何插件就能直接编辑和运行Ant.Eclipse中包含了一个Ant脚本编辑器,Ant脚本编辑器提供了对Ant脚本的语法搞来高亮.自动 ...

  5. ant学习笔记-taskdef

    1.声明task jar包中指定的task <taskdef name="xmltask“ classname="com.oopsconsultancy.xmltask.an ...

  6. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  7. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  8. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  9. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

随机推荐

  1. 晚期(运行期)优化---HotSpot虚拟机内的即时编译器

    最初java程序是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”.为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相 ...

  2. Java 多线程 interrupt方法

    interrupt 下面是interrupt方法的文档的一部分: * <p> If this thread is blocked in an invocation of the {@lin ...

  3. 添加 vip

    两台机器:172.16.91.101 172.16.91.107 在91.101上增加虚拟ip,92网段的 ifconfig eth0:1 172.16.92.2 netmask 255.255.25 ...

  4. print2flash文档在线预览应用(java,.net)

    一.背景 前段时间,LZ的boss突然给了出了这样一个需求:将原项目中的所有文章关联的附件TXT.PDF.office相关文件全部以flash的形式在网页上进行展示,便于预览.看似简单的需求,整个研发 ...

  5. Reactor 3 学习笔记(1)

    Reactor 3 与之前学习的RxJava是同一类(反应式编程)框架,基本概念大致差不多,简单记录一下: Reactor 3 利用了java 8中的CompletableFuture.Stream. ...

  6. NDArray自动求导

    NDArray可以很方便的求解导数,比如下面的例子:(代码主要参考自https://zh.gluon.ai/chapter_crashcourse/autograd.html) 用代码实现如下: im ...

  7. POJ 1595 素数打表水题

    [题意简述]:给出N和C,让我们求出N以内的包含N的素数,然后依据若N以内的素数为奇数个,就将中间2*c-1个素数输出:若为偶数个.就将中间2*c个素数输出. [分析]:仅仅要题意理解就简单了. 详见 ...

  8. cordova 开发笔记

    1.安装 Node.js Cordova需要Node.js环境,访问https://nodejs.org 下载安装, LTS版本即可,不要最新版. 2.安装 Cordova 执行下述命令把Cordov ...

  9. mod_wsgi的工作模式和配置

    Openstack所有提供API接口的服务都是python web server,而其本身性能很弱,目前已经将它们配置到了apache上.但对于如何设置mod_wsgi的参数,我一直没有好好去阅读其文 ...

  10. java类型生命周期

    开始阶段 装载:把二进制形式的java类型读入jvm中. 1)通过该类型的完全限定名,产生一个代表该类型的二进制数据流:2)解析这个二进制数据流为方法区内的内部数据结构:3)创建一个表示该类型的jav ...