一、Ant 打包:(下载ant、配置环境变量就不说了)
1、进入命令行模式,并切换到项目文件夹。运行例如以下命令为ADT创建的项目加入ant build支持:
android update project -p . -t "android-17"
2、build脚本默认target是help。所以会显示如上信息,改动target为debug或release就能够像无ant时一样编译、生成以及调试了。
3、使用release时 在local.properties加入签名信息
#keystore
key.store=xx.p12
key.alias=xxx
key.store.password=xxx
key.alias.password=xxx
4、命令行运行build.xml: ant -buildfile build.xml
5、error 处理
> BUILD FAILED > C:\Android\android-sdk\tools\ant\build.xml:601: The following error occurred while executing this line: > C:\Android\android-sdk\tools\ant\build.xml:653: The following error occurred while executing this line: > C:\Android\android-sdk\tools\ant\build.xml:698: null returned: 1
Also, if eclipse is set to 'build automatically' then this could keep popping up because eclipse will keep regenerating into the bin folder.
just run 'ant clean release' instead of 'ant release' when you are building this.
rm -fR $(find . -type d -name crunch|xargs)
假设遇到上述error 就运行 ant clean release
能够參考我的项目:https://github.com/mentor811/Android-Batch-Pack
二、gradle 打包
1、下载gradle 1.10 配置环境变量
2、配置android 环境变量 ANDROID_HOME
3、导出build文件
4、改动build文件
參考:https://github.com/umeng/umeng-muti-channel-build-tool/tree/master/Gradle
5、运行
gradle clean
gradle build
三、gradle 和 ant 的比較
1、本人用起来感觉 gradle 比較苛刻
a、AndroidManifest.xml里的凝视必须<!-- 前后必需要有空格 -->
b、中文凝视可能会有乱码
c、各个library project 里的 minsdk 和targetsdk 要和主工程保持一致
d、对png 图片的格式非常严格
e、lint
而 使用Ant 时。没有遇到上述问题,直接就成功了。
2、gradle 会把library project 里Androidmanifest.xml 合并到主工程,ant不会
3、灵活性上 绝对是gradle,配置友盟多渠道、改包名 配置一下就ok。而ant非常费劲。
4、打包效率对照:
第一次运行时 之前没有build的的项目
gradle 2min 53 pk ant 2min 54
下图是 已经运行过一个build后的打包时间:
左边gradle 右边 ant