Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到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就可以生成签名的各个渠道包
BUILD FAILED
D:\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://blog.csdn.net/honeybaby201314/article/details/41845897