Android Ant 和 Gradle 打包流程和效率对比

一、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

Android Ant 和 Gradle 打包流程和效率对比

时间: 2024-10-15 23:03:30

Android Ant 和 Gradle 打包流程和效率对比的相关文章

Android Ant 和 Gradle 打包流程和效率对照

一.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加入签名信息 #key

Android Ant 和 Gradle 包装工艺和效率控制

一个.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加入签名信息 #keyst

Android Ant 批量多渠道打包实例

Android Ant 批量多渠道打包实例 关于批量打包,无需多言,这是每个国内Android开发者必须面对的一个问题. 下面,我就以开源项目「知乎小报」为例,详细说明如何使用ANT实现批量打渠道包. 1 Ant 安装 下载ANT 请前往 http://ant.apache.org 下载. 配置环境变量 设置环境变量后,在命令行下测试ant命令,如果出现以下内容,则说明配置成功: cundongdeMacBook-Pro:~ cundong$ ant Buildfile: build.xml d

Android 项目利用 Android Studio 和 Gradle 打包多版本APK

在项目开发过程中,经常会有需要打包不同版本的 APK 的需求. 比如 debug版,release版,dev版等等. 有时候不同的版本中使用到的不同的服务端api域名也不相同. 比如 debug_api.com,release_api.com,dev_api.com等等. 不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等. 如果每次都在打包前修改我们都手动来修改,这样实在是不够方便. 但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去.

Android Studio 使用 Gradle 打包 Jar-IT蓝豹

Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 将 plugin 修改为library后 build 出 aar,再提取 aar 里面的 classes.jar 使用 jarjar 等工具剔除多余的 class 对第二步得到的 jar 进行混淆 无论哪一步,所做的工作量都不少.于我个人而言,相当麻烦,于是花了些时间研究了下 Gradle 打 Jar 包. 代码 废话不多说,先上代码( 注 :只在 Gradle And

android ant 自动批量打包——带有第三方项目library的情况

如果你每次打包都需要不断地手动打包,通过不断地复制粘贴,当你打几百个包的情况下,我相信你一定会疯掉的,当然,这种事情在我们程序员看来,都是可以解决的事情,因为,我们的工作就是让本来繁琐的工作变得简单一点.今天我们就需要简单地介绍一下ant批量打包的问题吧. 网上看到的资料各有千秋吧,现在是时候做一个总结,站在各位大神的肩膀上我们才能够看得更加远. 首先你应该去官网上面下载apache-ant的最新版,我这边使用了一个apache-ant-1.9.4,这是当前的最新版的,现在附上下载链接--可以去

Android Studio 使用 Gradle 打包 Jar

Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 1.将 plugin 修改为 library 后 build 出 aar,再提取 aar 里面的 classes.jar 2.使用 jarjar 等工具剔除多余的 class 3.对第二步得到的 jar 进行混淆 无论哪一步,所做的工作量都不少.于我个人而言,相当麻烦,于是花了些时间研究了下 Gradle 打 Jar 包. 代码 废话不多说,先上代码(注:只在 Grad

android ant 自动批量打包——带有第三方项目library的情况(补充运行)

上一篇blog忘记写怎么运行了,现在向大家补上-- 上面是我的项目目录,其实大家可以看到有build.xml 下面右击build.xml 接下来就可以运行了,等待一会儿,打工告成啊,祝大家好运哈.

在Android studio中用gradle打 jar 包(Mac下)

这两天公司要重构项目,以前的项目在eclipse上,准备迁移到Android studio上,需要对项目打包,于是我学习了Android studio中gradle打包的内容.我在公司用的Mac,在家用的Windows,两种平台下,打包基本一样的,这里主要说下在Mac系统下的过程. 在Andorid studio中的Terminal用的是Mac的终端,所以要使用Terminal的gradle命令打包,先要配置下mac中的gradle环境,打开mac上的终端: (1) 输入命令:open .bas