使用Ant搭建Android开发环境入门

 

使用Ant搭建Android开发环境,建立android项目

配置Ant环境

下载Ant:http://ant.apache.org/bindownload.cgi

在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。

打开系统环境变量,在系统变量栏点击新建,变量名输入“ANT_HOME”,变量值为Ant的根目录,如“D:\Android\apache-ant-1.9.0”,注意不要带双引号。

在系统变量中找到Path变量,点击编辑,在变量值的最后添加“%ANT_HOME%\bin”,注意不要带双引号,并且要使用“;”和之前的变量值隔开。

打开一个cmd窗口,输入“ant”,如果显示一下信息,说明Ant的环境配置成功,如果显示:'ant' 不是内部或外部命令,也不是可运行的程序或批处理文件。则要检查一下路径是否有问题。

在Eclipse中配置Ant

在eclipse中使用Ant之前,为了使Ant的build.xml文件能够安装制定的格式进行缩进和高亮显示,并能够进行代码提示,首先要简单的设置一下。

打开Windows - Preferences,依次展开General,Editors,选中File Associations,点击Add...,在Add File Type对话框中输入build.xml,点击Ok。

接下来在File type:栏选中build.xml,在Associated Editor:栏选中Ant Editor,点击Default,build.xml的图标变成了一个小蚂蚁,配置完毕。

使用Ant编译Android的java代码和native代码

新建一个Android工程TestAnt,在工程的根目录下新建一个build.xml文件

输入以下内容:

<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="init">        <target name="init">        <fail message="Ant 1.7.0 or higher is required.">            <condition>                <not>                    <antversion property="ant.version" atleast="1.7.0" />                </not>            </condition>        </fail>    </target>    </project>

打开cmd,切换到工程根目录,输入ant init

编译成功,来解析这个build.xml:

<project name="TestAnt" default="init">

project是Ant工程的根节点,name属性是工程的名称,default是默认执行的target,init为默认的target,当我们输入Ant的时候和Ant init是一样的效果。

    <target name="init">        <fail message="Ant 1.7.0 or higher is required.">            <condition>                <not>                    <antversion property="ant.version" atleast="1.7.0" />                </not>            </condition>        </fail>    </target>

target指定了要执行的操作,init是我们为这个target所起的名字,也可以是build,clean等等。在这个target中,执行的是检查Ant的版本,如个小于1.7.0的话会输出报错信息。

例如我们可以添加一个clean的target

    <target name="clean">        <echo message="Deleting temporary files..." />        <delete dir="gen" />        <delete dir="bin" />        <delete dir="out" />        <delete dir="obj" />        <echo message="DONE (Deleting temporary files)" />    </target>

执行的操作是删除所有临时目录,在cmd窗口中输入Ant clean,这四个临时目录就会被删除,和在eclipse中执行清理是一个效果。

使用Ant编译Android工程

在SDK中,Google已经为我们写好了一个build.xml文件,就是sdk根目录\tools\ant\build.xml,所以我们只要把这个build.xml引入就可以编译Android工程了。

在这之前首先要新建一个local.properties文件,引入sdk和ndk的路径

输入一下内容:

sdk.dir=D:\\Android\\android-sdkndk.dir=D:\\Android\\android-ndk

分别为sdk和ndk的路径,要安装自己的实际路径进行配置。

在测试工程的build.xml中输入一下代码:

<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="release">    <loadproperties srcFile="local.properties" />    <loadproperties srcFile="project.properties" />    <fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="sdk.dir" />    <fail message="ndk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="ndk.dir" />    <import file="${sdk.dir}/tools/ant/build.xml" /></project>

在命令行中执行ant release或ant debug,就会执行对应的编译。

以上只是进行Java代码的编译,如何编译native代码呢,在NDK中Google可没有提够build.xml,这就需要我们自己实现。在新版NDK中,我们只要在命令行中切换到工程的根目录,然后执行

“D:\Android\android-ndk\ndk-build.cmd”(红色部分要替换成自己的路径)

就可以,例如,在TestAnt工程中添加native代码,参考http://www.cnblogs.com/sw926/p/3232311.html

执行ndk-build

所以我们只要在Ant中执行一个cmd命令就可以了,在build.xml中添加

    <target name="native">        <echo message="Building native libraries..." />        <exec executable="${ndk.dir}/ndk-build.cmd" failonerror="true" />        <echo message="DONE (Building native libraries)" />    </target>

然后在命令行中执行ant native

执行了ndk-build。

以上介绍的都是使用Ant进行进步的Android编译操作,在此基础上可以实现更复杂的操作,比如批量替换资源文件,批量打包等等。

build.xml参考了FBReader。

[收藏] [复制链接发给好友] [打印] [关闭]

使用Ant搭建Android开发环境入门的更多相关文章

  1. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  2. 使用集成的ADT bundle来搭建android开发环境

    android开发环境的搭建 本文使用集成的ADT bundle来搭建android开发环境,所谓bundle就是谷歌搭建好的一个eclipse+sdk集成环境.需要下载的软件列表如下: 1.ADT ...

  3. Ubuntu 12.04 搭建Android开发环境

    Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...

  4. ubuntu下搭建android开发环境之超顺畅模拟器

    如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...

  5. 搭建Android 开发环境(精华)

    http://www.cnblogs.com/xdp-gacl/p/4322165.html 孤傲苍狼 只为成功找方法,不为失败找借口! Android开发学习总结(一)——搭建最新版本的Androi ...

  6. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢.   一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...

  7. 搭建Android开发环境附图详解+模拟器安装(JDK+Eclipse+SDK+ADT)

    ——搭建android开发环境的方式有多种,比如:JDK+Eclipse+SDK+ADT或者JDK+Eclipse+捆绑好的AndroidSDK或者Android Studio. Google 决定将 ...

  8. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  9. 第二章 搭建Android开发环境

    这一章为我们讲解了如何搭建Android开发环境. 首先要了解的是Android底层开发需要哪些工具:搭建android应用程序开发环境.android NDK开发环境和交叉编译环境,前两个用来测试L ...

随机推荐

  1. git连接华为开发云devcloud

    华为开发运在代码托管方面的个github很类似,引入了代码仓库的概念,同时需要本地安装git客户端,且只能与git进行连接,从这个角度上讲,华为开发云的代码管理部分就是github的功能,下面对git ...

  2. MySQL数据库调优技巧

    原文链接:https://m.aliyun.com/bbs/read/300762.html MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它 ...

  3. python 获取命令行输出结果

    status, output = commands.getstatusoutput("sudo rm -rf a.txt") if(not status): print(" ...

  4. c++ 判断数组元素是否都是奇数(all_of)

    #include <iostream> // std::cout #include <algorithm> // std::all_of #include <array& ...

  5. SQLServer中round函数

    ---SQL四舍五入问题1: SELECT CAST('123.456' as decimal) ---123 将会得到 123(小数点后面的将会被省略掉). ---如果希望得到小数点后面的两位.则需 ...

  6. 通过 sqldf 包使用 SQL 查询数据框

    在前面的章节中,我们学习了如何编写 SQL 语句,在关系型数据库(如 SQLite 和MySQL )中查询数据.我们可能会想,有没有一种方法,能够直接使用 SQL 进行数据框查询,就像数据框是关系型数 ...

  7. URAL 1635 Mnemonics and Palindromes

    URAL 1635 思路:区间dp+贪心,先n^2处理出每段区间是否是回文串,然后贪心地找每一段1到i的最少分割. 代码: #include<bits/stdc++.h> using na ...

  8. js-Client-side web APIs

    APIs https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/ 简介: 应用程序接口(API) ...

  9. codeforces 700a//As Fast As Possible// Codeforces Round #364(Div. 1)

    题意:n个人要运动ll长,有个bus带其中几个人,问最短时间 最后所有人在同一时间到终点是用时最少的.由于搭bus相当于加速,每个人的加速时间应该一样.先计算bus走过的路程route.看第一个人被搭 ...

  10. Blog Post Rating CodeForces - 806E (线段树二分)

    题目链接 题目大意: 有一个博客, 初始分数为$0$, 有$n$个人, 第$i$个人有一个期望值$a_i$, 如果第$i$个人浏览博客时,博客赞数高于$a_i$博客分数$-1$, 低于$+1$, 相等 ...