一、问题
同一套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