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. C语言中常用的字符串操作函数

    程序开头要声明 #include <string.h> 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char ...

  2. 为何IT开发人员如此辛苦?

    一个本来挺简单的功能,硬是让PM(产品经理)设计的非常复杂,各种逻辑切换.这样不但用户体验不好,还容易出各种bug.为了让用户学会使用产品,用了各种引导图,什么手势引导,按钮点击引导,提示弹窗都用上了 ...

  3. CocosCreator的Sprite的更换

    先上图,左侧是运行的效果, cc.Class({ extends: cc.Component, /* * cocos creator动态更换纹理 *方法一,预先在编辑器里设置好所有的纹理,绑定到对应的 ...

  4. Java中的ReentrantLock和synchronized两种锁定机制

    原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html 多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之 ...

  5. JVM Debugger Memory View for IntelliJ IDEA

    Posted on August 19, 2016 by Andrey Cheptsov Every day we try to find new ways to improve developer ...

  6. ConcurrentHashMap 的实现原理

    概述 我们在之前的博文中了解到关于 HashMap 和 Hashtable 这两种集合.其中 HashMap 是非线程安全的,当我们只有一个线程在使用 HashMap 的时候,自然不会有问题,但如果涉 ...

  7. ReactNative: 搭建ReactNative开发环境

    搭建ReactNative开发环境 不废话,具体步骤如下: 一.安装需要的软件 1.Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. /usr ...

  8. WHY数学表达式的3D可视化

    WHY数学表达式的3D可视化 很早之前我就有这种想法,将数学表达式的图形显示出来.最近终于实现了这套较为完善的版本,将其代码公布,也为开源做点贡献.首先系统中定义一套脚本语言格式,用于描述数学表达式. ...

  9. 了解 JavaScript (3)- 马上开始

    之前演示了一个 Hello World 程序,而后讲解了一些基础概念,下面开始一些基础工作. 将脚本放在哪里 脚本可以放置在两个位置 <head></head>之间,头脚本(h ...

  10. CoffeeScript简介 <二>

    集合与迭代 .. 与 ... 先看例子: arr = ["a1", "a2", "a3", "a4", "a5 ...