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文件
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFzb25ibG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
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 右边 ant
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Android Ant 和 Gradle 包装工艺和效率控制的更多相关文章
- Android Ant 和 Gradle 打包流程和效率对照
一.Ant 打包:(下载ant.配置环境变量就不说了) 1.进入命令行模式,并切换到项目文件夹.运行例如以下命令为ADT创建的项目加入ant build支持: android update proje ...
- 迁移ADT/ANT构建的Android项目至Gradle,a walk through。
LibModule 配置更新 9 months ago app 配置更新 9 months ago gradle/wrapper 配置更新 9 months ago screenshots ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...
- android studio学习----gradle命令详解
首先来给大家介绍一种简便并且个人最喜欢的一种办法.很多时候我们在GitHub上看到一个不错的开源项目,一般有两种需求,阅读源码和查看运行效果,如果是单纯的查看源码我更喜欢用一些轻量级编辑器,如vim, ...
- Android Studio :Android Studio 与 Gradle 深入【二】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255063&extra=page%3D2%26filter%3Dautho ...
- [原]Android打包之Gradle打包
最近尝试了一下Android的Gradle打包,发现确实比Ant打包会方便很多,特此记录下来. 注:android的gradle现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经 ...
- Android Studio 和 Gradle
由于以前没做过什么java项目,在使用Android Studio时遇到了Gradle,真是一头雾水,决定总结一下. 具体的使用方法请参看:http://www.cnblogs.com/youxilu ...
- 快速掌握 Android Studio 中 Gradle 的使用方法 [转http://blog.csdn.net/feelang/article/details/41783317]
Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build工具. Gradle脚本是基于一种JVM语言 -- Groovy,再加 ...
- Android Studio中Gradle使用详解
一)基本配置 build配置 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools. ...
随机推荐
- 【15.07%】【codeforces 625A】Guest From the Past
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- 在Eclipse中运行hadoop程序 分类: A1_HADOOP 2014-12-14 11:11 624人阅读 评论(0) 收藏
1.下载hadoop-eclipse-plugin-1.2.1.jar,并将之复制到eclipse/plugins下. 2.打开map-reduce视图 在eclipse中,打开window--> ...
- Linux 常用性能工具
Linux 常用性能工具简介. 一.wget 文件下载 使用wget下载单个文件:wget URL 下载并以不同的文件名保存:wget -O wordpress.zip URL wget限速下载:wg ...
- 【b802】火柴棒等式
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴 ...
- keepalived.conf 配置文件小结
vrrp_script vs_mysql_82 { script "/etc/keepalived/checkMySQL.py -h 192.168.11.82 -P 3306&qu ...
- sdo_geometry 转 st_geometry
CREATE OR REPLACE FUNCTION sdo2sde(geo SDO_GEOMETRY) RETURN st_geometry IS lx number; --类型 (点.线.面) c ...
- 2016.3.14__CSS 定位__第六天
假设您认为这篇文章还不错.能够去H5专题介绍中查看很多其它相关文章. CSS 定位机制 CSS中一共同拥有三种基本定位机制:普通流.浮动.绝对定位. 假设不进行专门指定.全部的标签都在普通流中定位. ...
- php如何实现万年历的开发(每日一课真是非常有效率)
php如何实现万年历的开发(每日一课真是非常有效率) 一.总结 一句话总结: 1.判断每月有多少天: 通过data函数来判断,$days=date('t',$firstday); 2.判断每月的第一天 ...
- 【t097】寄存器
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 蠕虫是一个古老的电脑游戏,它有许多版本.但所有版本都有一个共同的规则:操纵一 条蠕虫在屏幕上转圈,并试 ...
- 深入理解AngularJs-scope(二)
深入理解AngularJs-scope(一)中,我们对AngularJs的脏检测及其触发.异步任务队列进行了学习.紧接上一篇文章 深入理解AngularJs-scope(一),我们来看看scope对以 ...