首页 技术 正文
技术 2022年11月15日
0 收藏 317 点赞 2,622 浏览 2684 个字

java编译那些事通过提到ant编译Java工程,如今扩大到用它来构建Android目,事实上道理是相通的。变化的仅仅是使用的形式。ant构建相比IDE的优点是多个子项目使用自己定义jar包时,ant能够更好的完毕自己主动化构建。一个命令就搞定整个项目的编译而不用手工的导出jar包然后再将其放到指定文件夹。

这就是高效的构建工具所标榜的。

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

1.ant的安装

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

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

[linc@localhost ant]$ cp ~/Downloads/apache-ant-1.9.4-bin.zip .
[linc@localhost ant]$ unzip apache-ant-1.9.4-bin.zip
[linc@localhost ant]$ cd apache-ant-1.9.4
[linc@localhost apache-ant-1.9.4]$ ls
bin fetch.xml INSTALL lib manual README
etc get-m2.xml KEYS LICENSE NOTICE WHATSNEW

2)环境变量设置

在.bashrc中加入例如以下内容:

15 export ANT_HOME=/home/linc/dev/ant/apache-ant-1.9.4
16 export JAVA_HOME=/usr/java/jdk1.6.0_25
17 export PATH=${PATH}:${ANT_HOME}/bin

为了让改动马上生效。运行一下 source ~/.bashrc

3)检查是否成功

运行ant,如打印以下的信息,说明ant起作用了。

[linc@localhost apache-ant-1.9.4]$ ant
Buildfile: build.xml does not exist!
Build failed

2.build.xml

ant的编译是基于build.xml配置文件的,而Android SDK已经为我们提供了一个模板,详见<sdk>/tools/ant/build.xml
,更为美妙的是我们能够用android工具来生成build.xml。
android工具是<sdk>/tools下的工具。从名称能够看出它的能力是非常强的。这个工具以后会单独找个机会说,先来简介一下它是怎样帮忙创建build.xml文件的,我们首先看一下帮助:

[linc@localhost BallGame]$ android -h update project       Usage:
android [global options] update project [action options]
Global options:
-h --help : Help on a specific command.
-v --verbose : Verbose mode, shows errors, warnings and all messages.
--clear-cache: Clear the SDK Manager repository manifest cache.
-s --silent : Silent mode, shows errors only. Action "update project":
Updates an Android project (must already have an AndroidManifest.xml).
Options:
-l --library : Directory of an Android library to add, relative to this
project's directory.
-p --path : The project's directory. [required]
-n --name : Project name.
-t --target : Target ID to set for the project.
-s --subprojects: Also updates any projects in sub-folders, such as test
projects.

除了參数-p路径是必须的,其它參数都能够不带。

可是建议名称-n要加上。否则会默认以Activity名称来命名。-t能够不做改动,项目的Target Id事实上就是指Android API的版本号,我们能够查看项目的project.properties,以此为基准。例如以下:

[linc@localhost BallGame]$ tail project.properties ...
# Project target.
target=android-4

进入原有项目BallGame文件夹。输入命令例如以下:

[linc@localhost BallGame]$ android update project  -p .
Updated local.properties
No project name specified, using Activity name 'MainActivity'.
If you wish to change it, edit the first line of build.xml.
Added file ./build.xml
Added file ./proguard-project.txt

也能够指定更全的參数:

[linc@localhost BallGame]$ android update project  -p . -n BallGame -t android-4
Updated project.properties
Updated local.properties
Updated file ./build.xml
Updated file ./proguard-project.txt

至此。build.xml在我们不动一枪的情况下搞定了。

3.编译

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

本文以一个最简单的Android项目为例,讲状态ant安装与使用。

接下来说说复杂的项目ant建。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,955
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,479
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,291
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,108
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,740
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,774