ant打包安卓apk文件

公司的eclipse打包android项目时经常出错,需反复clean、重启,都不一定能打包成功,全靠人品。故此介绍一种比较高端方便的打包方式:ant打包(基于android sdk)。
 
 
1、配置    
1.1 ant配置
ant的安装比较简单,下载ant压缩包  http://ant.apache.org,下载之后将其解压到某个目录(本人解压到E:\Program Files\apache-ant-1.9.3) ,然后配置环境变量(新建ANT_HOME环境变量,值为ant所在的目录,然后将ANT_HOME/bin添加到path中),如图:        

      

打开命令行工具,输入 ant  -version ,如果出现如下结果,说明ant 安装成功。

 

1.2 android配置(如果未配置)

将sdk下的tools(而不是platform-tools)目录加到环境变量。

 

2、生成对应android项目的build.xml

打开命令行工具,切换路径到项目所在的目录;输入命令

android update project --name <project_name> --target <target_ID>--path <path_to_your_project>

例:android update project --name YDZF_client -p ./

项目根目录下多了build.xml,以及local.properties两个文件。

build.xml则是ant构建的最重要脚本,打开一看,发现里面其实大部分都是写注释,有用的没几行,这是因为生成的这个build.xml引用了android SDK自带的构建脚本,具体目录是{sdk目录}/tools/ant/build.xml 。

 

但由于我们做的项目多有依赖第三方项目,所以要先进入到library项目所在的目录,输入命令 android update lib-project -p ./  (注意是 lib-project)。

 

3、可能遇到的问题

 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
 
修改sdk 》tools》ant》build.xml文件中的<property name="aapt.ignore.assets" value="crunch" />,
方法可行,但仔细看一下build.xml中的解释,就可以看到"Default is "!.svn:!.git:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"",
如果直接修改了sdk里面的配置,个人觉得不太妥,那么可以在自己项目的根目录下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中不允许使用'<'字符,所以要转义一下。
 
4、打包签名项目
在项目根目录下添加:ant.properties 文件,例:
#keystore的路径,必须使用正斜杠  
key.store=d:/android/keystore/debug.keystore
#keystore的密码  
key.store.password=android
#alias名  
key.alias=androiddebugkey
#alias密码  
key.alias.password=android
 
如不指定密码的话,需要在打包过程中手动输入密码
 
5、打包命令
项目根目录下运行 ant release 命令就会帮你生成一个经过签名和aligned的apk,生成的apk(your_project_name-release.apk)在bin目录下。
 
 

 

 

 

    
posted @ 2015-12-22 12:03  常树  阅读(378)  评论(0编辑  收藏  举报