一、问题
同一套Android代码,希望通过配置文件的形式,制作成不同包名的多个package(多包名,多版本号,多市场logo,多广告商)。

二、解决方法
使用Ant编译

三、Ant安装和使用

1.        环境:Ubuntu 10.04

2.        安装工具

1)       安装jdk 1.6及android-sdk-linux-r15(见android sdk相关文档)

2)       安装ant 1.83版本
由于android-sdk-linux-r15需要ant 1.8.0以上版本,在ubuntu 10.04上使用apt-get自动安装的版本太低,所以使用源码包安装方法

a)        下载
ant最新版(当前为1.8.3)
下载junit-4.9.jar包,ant编译时需要此包

b)       安装
$ 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.        建立工程

1)       列出目标平台ID
$ $ANDROID_SDK_DIR/tools/android list targets

2)       建立新的android工程(效果同使用eclipse新建android工程一致)
$ $ANDROID_SDK_DIR/tools/android create project –k 包名 –a项目名 –t 目标平台ID –p 路径

3)       编译工程
$ ant debug
此时在bin目录下生成相应的apk文件
(jar包和so库都放在libs目录下即可被打入apk包,位置同android源码编译中位置一致)

4)       在虚拟机中安装并运行
$ $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编译

1)       建立ant编译脚本build.xml
$ $ANDROID_SDK_DIR/tools/android update project --name 项目名 –t目标平台ID –p 路径

2)       编译工程

a)        编译debug版本
$ ant debug
生成带debug签名的apk

b)       生成release版本
$ ant release
生成带未签名的apk,之后手动签名即可
编辑build.properties文件,其中指定签名相关资源,可自动签名

5.        将一套代码通过简单配置自动生成多个apk包(此处只介绍最简单的方法)

1)       原理
使用 ant –f参数指定运行脚本,在该脚本中修改代码,资源,脚本的内容,然后再运行ant编译出相应的apk,原理和手动替换资源一样。

2)       方法
参见:http://bbs.chinaunix.net/thread-3637817-1-1.html


posted on 2012-03-27 19:17  xieyan0811  阅读(20)  评论(0编辑  收藏  举报