有两种方法来构建您的应用程序使用Ant构建脚本:一个用于测试/调试您的应用程序,调试模式——和一个用于构建你的最终计划发布——发布模式。不管你怎样构建你的应用程序,它必须先签名然后可以安装在一个模拟器或设备与在调试模式下使用一个调试密钥创建和在发布模式下使用你自己的私钥在创建。
无论你是在调试模式下构建或发布模式,您需要使用Ant工具来编译和构建您的项目。这将创建一个可以安装在模拟器或设备上的.apk文件。当在调试模式下创建,.apk文件是自动签名的SDK工具和一个调试密钥,所以它是立即准备安装到一个模拟器或附加开发设备。你不能发布一个用调试密钥签名的应用程序。当你在发布模式下构建的.apk文件是没有签名的,所以你必须手动使用你自己的私钥给它签名,使用Keytool和Jarsigner。
阅读和理解Signing Your Applications很重要,特别是你准备发布你的应用程序并且和最终用户分享。该文档描述了程序生成一个私有密钥,然后使用它来签上你的.apk文件的步骤。如果你刚刚开始,但是,您可以快速运行您的应用程序在一个模拟器或您自己的开发设备通过构建在调试模式下。
如果你没有Ant,你可以从Apache Ant home page获得。安装并确保它在你的可执行路径下。在调用Ant之前,你需要声明JAVA_HOME环境变量指定JDK安装的路径。

:注意:当在Windows上暗转JDK时,默认的是安装到"Program Files"目录。这个路径将会应为空间的原因导致ant失败。修改这个难题,你可以像这样来指定JAVA_HOME变量:

set JAVA_HOME=c:Progra~1Java
最简单的方法是将JDK安装在non-space目录,例如:
c:javajdk1.6.0_02

调试模式下创建

对于立即应用程序测试和调试,您可以构建您的应用程序在调试模式下或者马上将它安装在一个模拟器。在调试模式下,构建工具自动使用调试密钥为您的应用程序签名和,使用zipalign优化你的包。
在调试模式下创建:
* 打开命令行切换到工程的根目录
* 使用Ant在调试模式下编译你的工程:
ant debug
::这将创建你的调试.apk文件放在工程的bin/目录下。名字是<你工程的名字>-debug.apk。文件已经使用调试密钥签名并且与 zipalign一起。
每次你改变源文件或者资源文件,你必须再次运行Ant以便给应用程序最后的一个版本打包。
在模拟器上安装运行你的应用程序,看下面的Running on the Emulator。

在发布模式下创建

当你准备发布你的应用程序到最终用户,你必须在发布模式下创建你的应用程序。当你在发布模式下创建了,执行额外的测试和为最终的.apk文件调试是一个好主意。
在你开始在发布模式下构建您的应用程序,注意你必须为生成的应用程序包用你的私钥签名,然后将它使用zipalign工具匹配。在发布模式下有两种方法来构建:在发布模式下构建一个没有签名的包,然后手动签名并打包,或者允许构建脚本为你的包签名和打包。

原文:http://android.eoe.cn/topic/android_sdk

使用Ant编译和构建项目指南的更多相关文章

  1. [置顶] java ant 配置及构建项目

      Ant是一种基于Java的构建工具.Ant文件是配置构建目标过程的XML文件,也称为Ant脚本.                     (因为对这个不是很了解,所以用词方面可能于个人的理解有偏差 ...

  2. 项目androidAnt编译打包Android项目

    时间紧张,先记一笔,后续优化与完善. Ant编译打包Android项目 在Eclipse中对Android项目停止编译和打包如果项目比较大的话会比较慢,所以改为Ant工具来停止编译和打包 Ant环境配 ...

  3. 在flash builder 4.6中使用ant编译项目的详细过程

    首先要准备APACHE ANT,目前是1.9.2版 可以去这里下载:http://ant.apache.org/bindownload.cgi?Preferred=http://labs.renren ...

  4. Android - Ant自动编译打包android项目 -- 1(转)

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

  5. 【图文】 使用ant编译和发布java项目

        开发JavaEE项目经常会碰到修改代码后,项目没有重新编译的问题.老大给指明了一个解决办法:用ant编译项目. ant是apache基金会下的一个项目,是基于Java语言的构建工具.      ...

  6. ANT公布SVN WEB项目到TOMCAT以及利用post-commit自己主动提交编译更新

    开发者在本地提交更新到SVNserver后.往往须要測试人员又一次測试.为了将更新内容即时反映到測试server.能够利用post-commit脚本将SVN更新同步到測试server中. (1)利用S ...

  7. 使用ant编译项目技能

    ant编译时指定jdk的版本号 系统的jdk版本号是1.6,而项目使用的jdk版本号是1.5.所以在编译时须要指定jdk的版本号为1.5,能够使用以下的方法为javac 任务指定fork和execut ...

  8. jenkins+svn+Ant+tomcat+非maven项目构建

    首先,输入项目名称,创建一个自由风格的项目; 然后,配置旧项目的策略参数,目的是防止构建项目太多,占用资源. 下一步,jdk版本选择: 下一步,关联svn项目. 下一步:配置ant 看不清,再来一张. ...

  9. Ant自动编译打包android项目(转载)

      1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...

随机推荐

  1. 再次编译 arm toolchains

    为什么说再呢,因为已经好多次了.每次失败,都再从失败的地方开始.今天这篇呢,主要是记录今天的进展. 1. 编译要分三步走 之前学习的时候就有印象,要三步走.但是因为没有实践过,所以,忘差不多了.所谓三 ...

  2. Java HmacSHA1算法

    Java HmacSHA1算法 public static String hmacSha1(String src, String key) { try { SecretKeySpec signingK ...

  3. 【物联网智能网关-17】.NET Micro Framework之MDK C++二次开发

    .NET Micro Framework虽然好学易用,但是在一些需要实时,需要高性能的应用领域,却有些勉为其难.毕竟.NET Micro Framework上层应用程序由底层CLR(TinyCLR)解 ...

  4. excel查找和替换

    快捷键:ctrl+f或者ctrl+h组合键 1.该功能经常会用到,但是需要注意的是“选项”功能,可以确定查找范围,区分大小写等. 2.如何控制查找范围? 1)设置范围--确定是查找工作表还是工作薄,同 ...

  5. DXL之通过程序修改Domino的设计

    Domino R6中,可以将设计元素导出并产生一个DXL(Domino XML)文档,导出以后,我们可以通过程序代码将DXL文档进行修改,再将修改后的代码导入到Domino数据库.这种方式可以修改设计 ...

  6. mybatis generator(MyBatis的逆向工程)

    1创建数据表 如图所示:我的是在text数据库中创建了一个Student表,字段有id(int),   name(varchar),     age(int),    score(int) 2创建项目 ...

  7. windows下Oracle Tuxedo编译应用前需要配置的相关环境变量

    rem (c) BEA Systems, Inc. All Rights Reserved. rem Copyright (c) BEA Systems, Inc. rem All Rights Re ...

  8. 【Mysql】php执行脚本进行mysql数据库 备份和还原

    一.mysql备份 1.这里使用 php脚本的形式进行mysql 数据库的备份和还原,想看linux的sh版本的,有时间再贴. 2.找到 mysql的[mysqldump] 执行程序,建议phpinf ...

  9. Easyui入门视频教程 第02集--- ASP.NET MVC下 搭建 EasyUI环境

    Easyui入门视频教程 第02集--- ASP.NET MVC下 搭建 EasyUI环境 目录 ----------------------- Easyui入门视频教程 第09集---登录完善 图标 ...

  10. springmvc是如何和前端页面联系起来的

    springmvc的使用,在controller中通过注解的形式,获取从前端jsp页面传过来的action参数. 方法/步骤   使用springmvc必须在web.xml中配置(Dispatcher ...