• Android应用开发高效工具集1---ant构建简单Android项目


    本文转载于:http://blog.csdn.net/lincyang/article/details/40950153

    java编译那些事儿中提到了用ant去编译Java项目,今天扩展到用它来构建Android项目,其实道理是相通的,变化的只是使用的形式。ant构建相比IDE的好处是多个子项目使用自定义jar包时,ant可以更好的完成自动化构建,一个命令就搞定整个项目的编译而不用手工的导出jar包然后再将其放到指定目录。这就是高效的构建工具所标榜的。

    先来说说ant在Linux下的安装(那篇文章写的太过简单,其实也是很简单的,别看mannul中写的那么复杂)。

    1.ant的安装

    最简单的办法就是直接用Linux系统命令安装:
    Ubuntu:
    sudo apt-get install ant
    Fedora:
    sudo yum install ant
    缺点是软件服务器上的版本太过老旧。我在Fedora 14(这系统版本就够老的了)安装版本是1.7.1,而最新版本是1.9.4,所以还是推荐直接从官网下载最新的版本安装。如果想看源码就选择Source Edition,而我选择了Binary Edition,就像是免安装版软件一下,步骤如下:

    1)下载。zip或其他格式安装包,解压到你想放置的路径:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost ant]$ cp ~/Downloads/apache-ant-1.9.4-bin.zip .  
    2. [linc@localhost ant]$ unzip apache-ant-1.9.4-bin.zip   
    3. [linc@localhost ant]$ cd apache-ant-1.9.4  
    4. [linc@localhost apache-ant-1.9.4]$ ls  
    5. bin  fetch.xml   INSTALL  lib      manual  README  
    6. etc  get-m2.xml  KEYS     LICENSE  NOTICE  WHATSNEW  

    2)设置环境变量

    在.bashrc中添加如下内容:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. 15 export ANT_HOME=/home/linc/dev/ant/apache-ant-1.9.4  
    2.  16 export JAVA_HOME=/usr/java/jdk1.6.0_25  
    3.  17 export PATH=${PATH}:${ANT_HOME}/bin  
    为了让修改立即生效,执行一下 source ~/.bashrc

    3)检查是否成功

    执行ant,如打印下面的信息,说明ant起作用了。
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost apache-ant-1.9.4]$ ant  
    2. Buildfile: build.xml does not exist!  
    3. Build failed  

    2.build.xml

    ant的编译是基于build.xml配置文件的,而Android SDK已经为我们提供了一个模板,详见<sdk>/tools/ant/build.xml
    ,更为美妙的是我们可以用android工具来生成build.xml。
    android工具是<sdk>/tools下的工具,从名称可以看出它的能力是很强的。这个工具以后会单独找个机会说,先来简单介绍一下它是如何帮忙创建build.xml文件的,我们首先看一下帮助:
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost BallGame]$ android -h update project  
    2.   
    3.   
    4.        Usage:  
    5.        android [global options] update project [action options]  
    6.        Global options:  
    7.   -h --help       : Help on a specific command.  
    8.   -v --verbose    : Verbose mode, shows errors, warnings and all messages.  
    9.      --clear-cache: Clear the SDK Manager repository manifest cache.  
    10.   -s --silent     : Silent mode, shows errors only.  
    11.   
    12.   
    13.                          Action "update project":  
    14.   Updates an Android project (must already have an AndroidManifest.xml).  
    15. Options:  
    16.   -l --library    : Directory of an Android library to add, relative to this  
    17.                     project's directory.  
    18.   -p --path       : The project's directory. [required]  
    19.   -n --name       : Project name.  
    20.   -t --target     : Target ID to set for the project.  
    21.   -s --subprojects: Also updates any projects in sub-folders, such as test  
    22.                     projects.  

    除了参数-p路径是必须的,其他参数都可以不带。但是建议名称-n要加上,否则会默认以Activity名称来命名。-t可以不做修改,项目的Target Id其实就是指Android API的版本,我们可以查看项目的project.properties,以此为基准,如下:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost BallGame]$ tail project.properties   
    2.   
    3. ...  
    4. # Project target.  
    5. target=android-4  

    进入原有项目BallGame目录,输入命令如下:
    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost BallGame]$ android update project  -p .  
    2. Updated local.properties  
    3. No project name specified, using Activity name 'MainActivity'.  
    4. If you wish to change it, edit the first line of build.xml.  
    5. Added file ./build.xml  
    6. Added file ./proguard-project.txt  

    也可以指定更全的参数:

    [plain] view plaincopy在CODE上查看代码片派生到我的代码片
    1. [linc@localhost BallGame]$ android update project  -p . -n BallGame -t android-4  
    2. Updated project.properties  
    3. Updated local.properties  
    4. Updated file ./build.xml  
    5. Updated file ./proguard-project.txt  
    至此,build.xml在我们不动一枪的情况下搞定了。

    3.编译

    执行ant debug,一个debug的apk就编译出来了。


    本文以一个最简单的Android项目为例,讲述ant的安装和使用。下一篇讲讲复杂项目的ant构建。
  • 相关阅读:
    Asp.net MVC3
    ASP.NET 路由实现页面静态化(附在线Demo和Source)
    ASP.NET MVC中Unobtrusive Ajax的妙用
    ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
    探讨大数据量处理
    提高ASP.NET性能与可伸缩性的几个个常用方法剖析
    Winform 应用
    C#利用QrCode.Net生成二维码
    MS SQL删除大数据
    由浅入深:自己动手开发模板引擎——置换型模板引擎1
  • 原文地址:https://www.cnblogs.com/runwind/p/4454634.html
Copyright © 2020-2023  润新知