zoukankan      html  css  js  c++  java
  • Ant自动化打多渠道包,Android批量打包提速

     Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了。

    在eclipse中引入ant请参考  http://www.cnblogs.com/tt_mc/p/3891546.html ,下面是本人ant打包时遇到的一些问题。

    ---------------------可爱的分割线------------------------------

    一、按照上面步骤自己实现了下,在此过程中也遇到了很多问题。

    1、配置环境变量android 和 ant,这里不详做解释。

    2、如果你的项目有第三方资源包,则先切换到资源项目的路径将其转换为ant可以编译的。

      执行命令:android update lib-project -p ./

    3、切换到主项目的根目录。

      执行命令 android list target ,可以获取android编译的版本。它的id值就是-t参数后面的值。

      D:project3MiniTools>android update project -n MiniTools -t 7 -p ./ --subprojects

       -n : 项目名称,-t 编译的版本, -p 项目路径,--subprojects 指存在第三方资源项目的引用。

    4、签名文件

       

    复制代码
    1、不签名
        1.1、android update lib-project -p ./ //将第三方库文件编译成ant可以识别的
    
        1.2、android update project -n test -t 7 -p ./ --subprojects  --在主项目中执行
        
        1.3、ant release  --生产未签名的apk.
    2、签名,完成1的步骤,接着配置下面
        2.1、配置keystore
            #keystore的路径,必须使用正斜杠  
            key.store= "E:/wp_android_sample/me.key" 
            keystore的密码  
            key.store.password=*****
            #alias名  
            key.alias=me
            #alias密码  
            key.alias.password=****** 
            #渠道市场列表  
            market_channels=91,360,wandoujia,baidu  
            #版本号  
            version=1.2.1 
        2.2、添加渠道打包代码到build.xml
        2.3、执行ant deploy就可以生成签名的各个渠道包
    复制代码

     

    5、在CMD命令窗口输入 ant release 执行,在项目的bin目录下生产apk文件。
    6、多渠道包就按照上面的方法去做就可以,在复制多渠道包脚本到build.xml时,放到condition节点下方(之前我放到了最后,打包时有错误,之后包脚本向签名的位置放了就可以了)。
     
    二、遇到的错误及解决方法
      1、错误null returned 1
      
    BUILD FAILED
    D:Androidsdk	oolsantuild.xml:601: The following error occurred while executing this line:
    D:Androidsdk	oolsantuild.xml:653: The following error occurred while executing this line:
    D:Androidsdk	oolsantuild.xml:698: null returned: 1

       解决方法:

      1、在sdk/tools/ant/build.xml文件中找到aapt.ignore.assets,将它的值改为crunch。

      2、在自己项目的根目录下build.xml文件中加入:<property name="aapt.ignore.assets" value="!.svn:!.git:x3Cdirx3E_*:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~:crunch" />  这样子就只对自己的项目生效!为什么会有x3Cdirx3E这个东西,其实就是<dir>,不过ant build.xml中不允许使用'<'字符,所以要转义一下。

     

     

    参考

    http://my.oschina.net/bigtiger/blog/201924

    http://bbs.csdn.net/topics/380199724

     

     

    Android批量打包提速 - 1分钟900个市场不是梦


  • 相关阅读:
    kettle参数、变量详细讲解[转]
    C# 异步
    〖Python〗-- 模块与包
    〖Python〗-- 异常处理
    〖Python〗-- 面向对象进阶
    〖Python〗-- 反射、内置attr、包装
    〖Python〗-- property、静态方法、类方法
    〖Python〗-- 面向对象编程的继承、多态与多态性、封装
    〖Python〗-- 面向对象编程、继承、组合、接口和抽象类
    〖Python〗-- 递归、面向对象初识及编程思想
  • 原文地址:https://www.cnblogs.com/lbangel/p/4335868.html
Copyright © 2011-2022 走看看