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. CocosCreator 场景转换API

    一.CocosCreator场景的切换API: cc.director.loadScene( ‘场景名称’);//场景切换必须使用的API 通过场景名称进行加载场景时,常用的就是上边的API,但是版本 ...

  2. webstorm更改字体大小

    webstorm是一款不错的开发软件,一起来看看webstorm怎么更改字体大小. 1,打开该软件后,点击上面菜单栏的“文件”/File,找到其子菜单中的“设置”/Setting,点击打开. 2,在新 ...

  3. spring源码分析系列 (5) spring BeanFactoryPostProcessor拓展类PropertyPlaceholderConfigurer、PropertySourcesPlaceholderConfigurer解析

    更多文章点击--spring源码分析系列 主要分析内容: 1.拓展类简述: 拓展类使用demo和自定义替换符号 2.继承图UML解析和源码分析 (源码基于spring 5.1.3.RELEASE分析) ...

  4. Oracle ORA-12541:TNS:无监听程序

    背景:自己机子做oracle服务器,其他机子可以ping得通我的机子,但是jdbc就是连不上,后来用plsql连出现无监听程序.... 我昨天重新安装Oracle后,用PL/SQL Developer ...

  5. Linux学习笔记11—VSFTP的搭建

    1.查看是否安装vsftp rpm -qa | grep vsftpd 如果出现vsftpd-2.0.5-21.el5,说明已经安装 vsftp 安装vsftp yum -y install vsft ...

  6. Qt.网络开发-通过http的get方式获取数据

    Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品. 它是个跨平台的C++图形开发平台 我们在这章中可以学习简单的网络数据获取并显示的内容 本文基于Qt C ...

  7. java内部类(三)

    内部类之方法内部类 方法内部类就是内部类定义在外部类方法中,方法内部类只在该方法内部可见,即只在该方法内部使用. 注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符 ...

  8. 解决 Mac 的 Terminal 中,Java 乱码的问题

    在 .bash_profile 文件中,增加如下行: export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 然后,重新加载该配置 source .bash_pr ...

  9. c++中string类对象和字符数组之间的相互转换

    string类在c++中是一个模板类,位于名字空间std中,注意这里不是string.h,string.h是C字符串头文件. 将string类型转换为字符数组char arr[10];string s ...

  10. jdk TreeMap工作原理分析

    TreeMap是jdk中基于红黑树的一种map实现.HashMap底层是使用链表法解决冲突的哈希表,LinkedHashMap继承自HashMap,内部同样也是使用链表法解决冲突的哈希表,但是额外添加 ...