zoukankan      html  css  js  c++  java
  • 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:Androidandroid-sdk	oolsantuild.xml:601: The following error occurred while executing this line:
    > C:Androidandroid-sdk	oolsantuild.xml:653: The following error occurred while executing this line:
    > C:Androidandroid-sdk	oolsantuild.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




  • 相关阅读:
    Sublime Text 3——插件配置篇
    Sublime Text 3——基本介绍篇
    线性同余方程
    费马小定理
    一点心事
    寒诗
    e网通学习笔记
    std::cout<<"Goodbye 2019"<<" "<<"Hello 2020"<<' ';
    新砍
    NOIP2019游记
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5104360.html
Copyright © 2011-2022 走看看