当前位置: 代码迷 >> Android >> Ant自动化击多渠道包,Android批量打包提速
  详细解决方案

Ant自动化击多渠道包,Android批量打包提速

热度:13   发布时间:2016-04-28 03:26:16.0
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:\project3\MiniTools>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 FAILEDD:\Android\sdk\tools\ant\build.xml:601: The following error occurred while executing this line:D:\Android\sdk\tools\ant\build.xml:653: The following error occurred while executing this line:D:\Android\sdk\tools\ant\build.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:\x3Cdir\x3E_*:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~:crunch" />  这样子就只对自己的项目生效!为什么会有\x3Cdir\x3E这个东西,其实就是<dir>,不过ant build.xml中不允许使用'<'字符,所以要转义一下。

 

 

参考

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

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

 

 http://www.cnblogs.com/qianxudetianxia/archive/2012/07/04/2573687.html

 

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


1楼x359981514昨天 21:49
as只要一句话
  相关解决方案