使用Ant编译Android工程(Linux系统)
使用 Ant 编译 Android 工程(Linux 系统)
#移动开发 #Android
一、问题
同一套 Android 代码,希望通过配置文件的形式,制作成不同包名的多个
package(多包名,多版本号,多市场 logo,多广告商)。
二、解决方法
使用 Ant 编译
三、Ant 安装和使用
1. 环境:Ubuntu 10.04
2. 安装工具
安装 jdk 1.6 及 android-sdk-linux-r15(见 android sdk 相关文档)
安装 ant 1.83 版本
由于 android-sdk-linux-r15 需要 ant 1.8.0 以上版本,在 ubuntu 10.04 上使用 apt-
get 自动安装的版本太低,所以使用源码包安装方法
下载
ant 最新版(当前为 1.8.3) 下载 junit-4.9.jar 包,ant 编译时需要此包安装
** $ tar xvzf../tgz/apache-ant-1.8.3-src.tar.gz
$ cd apache-ant-1.8.3
$ cp /usr/lib/jvm/java-6-sun/lib/junit-4.9.jar lib/optional/
$ export JAVA_HOME=/usr/lib/jvm/java-6-sun
$. build.sh
$. build.sh install **
3. 建立工程
列出目标平台 ID
** $ $ANDROID_SDK_DIR/tools/android list targets **建立新的 android 工程(效果同使用 eclipse 新建 android 工程一致) ** $ $ANDROID_SDK_DIR/tools/android create project–k 包名–a 项目名–t 目标平台
ID–p 路径 **
编译工程
** $ ant debug **
此时在 bin 目录下生成相应的 apk 文件
(jar 包和 so 库都放在 libs 目录下即可被打入 apk 包,位置同 android 源码编译中位置一致)在虚拟机中安装并运行
** $ $ANDROID_SDK_DIR/tools/android list avd **
列出所有的 AVD
** $ $ANDROID_SDK_DIR/tools/emulator–avd 指定 AVD 名称 **
操作模拟器时,键盘 F2 对应菜单键,Home 键对应设备的 Home 键
** $ $ANDROID_SDK_DIR/platform-tools/adb install xxx.apk **
在虚拟机中打开应用即可
4. 对原有工程用 ant 编译
- 建立 ant 编译脚本 build.xml
** $ $ANDROID_SDK_DIR/tools/android update project --name 项目名–t 目标平台 ID
–p 路径 **
- 编译工程
编译 debug 版本
** $ ant debug **
生成带 debug 签名的 apk生成 release 版本
** $ ant release **
生成带未签名的 apk,之后手动签名即可
编辑 build.properties 文件,其中指定签名相关资源,可自动签名
5. 将一套代码通过简单配置自动生成多个 apk 包(此处只介绍最简单的方法)
原理
使用 ** ant–f ** 参数指定运行脚本,在该脚本中修改代码,资源,脚本的内容,然后再运行 ant 编译出相应的 apk,原理和手动替换资源一样。方法
参见:http://bbs.chinaunix.net/thread-3637817-1-1.html