如何使用Ant自动构建Android版本

  Ant是一个很好的跨平台构建工具,特别是对于Java项目,这里使用它对Android工程进行自动化构建可以得到非常大的便利。一般来说对Android工程进行构建主要有以下几个步骤:

  使用aapt来编译工程生成R.java;

  使用aapt来对工程所需用的资源进行打包;

  转换并编译AIDL文件;

  编译Java源文件并生成.class;

  转换并压缩.class文件成.dex文件;

  使用aapt打包生成未签名的apk包;

  使用jarsigner对apk包签名并得到最终的发布包。

  关于这些步骤所需要的实现细节就不再详述了(网格上各种版本,大多都能使用),这里主要说一下对于多个渠道情况下的apk打包。所谓的多个渠道一般来说就需要对每个要发布的渠道版本进行一次上述系列操作,而这多个渠道的差异通常是可以公共出来的一些配置信息,比如渠道的编号,爱加密推出的免费APP渠道信息管理平台,服务包括渠道数据的监测,盗版APP的识别和分析,开发者通过使用爱加密渠道监测服务可以方便的管理APP所有推广渠道,一站掌握所有信息。渠道监测平台还可以帮助开发者第一时间发现盗版APP,保护公司合法权益。http://www.ijiami.cn/Channels

如此一来就可以将其统一组织到一个配置文件里边,在进行流程前使用ant的功能对其进行具体的渠道设置就可以了,比如:

 

[html] view plaincopy

  1. <replace file="${pathsettingfile}" token="Ant_PathID" value="${_PathID}"/>
  2. <replace file="${pathsettingfile}" token="Ant_PathName" value="${_PathName}"/>

   其中的_PathID,_PathName均为在ant环境中定义的变量,其可以是直接从cmd传入或通过其它方式来赋值。这样在进行后续的编译时就可以直接得到该渠道下的版本。

   此外,还可以将所有渠道的信息统一配置于一xml之中,在进行构建时直接从其中读入各个渠道的信息并赋值到如上的_PathID、_PathName中即可,可以用如下代码方便实现(其中涉及xmltask在ant中的使用,这个可以参考ant的相关资料):

 

[html] view plaincopy

  1. <target name="main">
  2. <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
  3. <echo>Starting....</echo>
  4. <xmltask source="Paths.xml">
  5. <call path="/PathList/PathDetail[@enabled=‘true‘]" target="build">
  6. <param name="_PathID" path="ID/text()"/>
  7. <param name="_PathName" path="Name/text()"/>
  8. </call>
  9. </xmltask>
  10. </target>

  对应的渠道配置xml则基本上如下所示(当然其中可以置入更多的信息)

 

[html]view plaincopy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <PathList>
  3. <PathDetail name="" enabled="true">
  4. <ID>11111</ID>
  5. <Name>Path_0</Name>
  6. </PathDetail>
  7. <PathDetail name="" enabled="true">
  8. <ID>22222</ID>
  9. <Name>Path_1</Name>
  10. </PathDetail>
  11. </PathList>

   此外,使用Ant的自动化构建还可以实现另外一个重要用途,对asset中的涉密文件进行保护。这里有一个简单的例子,比如asset中有一些文件对用户可视,但却不希望被用户修改,这种情况下就可以在构建中加入一个文件校验的阶段,首先将要保护的文件计算出对应的MD5签名,之后再将此签名写入到程序代码中并进行编译构建,在程序运行时使用此签名进行校验,如果该签名不匹配那就意味着被用户修改后进行了重新的打包,此时程序就可以有相应的操作,这样就可以在一定程序上防止用户对发布的Apk包进行重新pack并运行。

对于Android app,dex源码文件安全性是最重要的,因此,这个dex源码加密保护其实很有必要,在这个方面,可以做到的有爱加密这个平台,不同类型的应用也有不同的加密保护方案,详细可以在这里了解: http://www.ijiami.cn/appprotect_mobile_games

时间: 2024-10-13 18:19:55

如何使用Ant自动构建Android版本的相关文章

使用ant自动构建项目

用Ant实现Java项目的自动构建和部署 原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml        本文请勿转载! Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.             安装与配置 下载地址:http://ant.apache.org/,在本文中下载的是1.7.0版本.

Ant自动构建

Ant+jenkins+tomcat <project name="buildWar" default="clean"> <property name="tomcat.home" value="/opt/tomcat" /> <property name="build.path" value="build/classes" /> <propert

[Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建

谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安装 Ant,并且将它添加到你的执行路径 PATH 里[2]. 调试模式构建 在调试模式下,Ant 会自动使用一个调试密钥对你的安卓应用进行签名,并且使用 zipalign 进行优化. 要进行调试模式下的构建,首先在命令行进入安卓项目根目录,然后使用 Ant 启动调试模式构建: $ ant debug

使用Ant构建Android应用

2014年7月13日,下文中的ADT版本为adt-bundle-windows-x86_64-20140624. 上半年项目需要,开发一个基于Android SDK的应用,通过仔细学习Android SDK提供的build.xml文件,发现对Ant的认识上升到了一个新的高度,今天把项目中遇到的知识点记录下来. 创建build.xml Android SDK提供了从无到有创建安卓应用工程的命令,但我没有尝试过,所以没有使用经验.Android SDK里的工具功能很多.很强大,并且有详尽的帮助信息,

Ant自动编译打包&amp;发布 android项目

Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. 1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Program Files\apache-ant-1.9.3) ,然后配

Andorid进阶7—— Ant自动编译打包&amp;发布 android项目

http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. 1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(

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

1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Program Files\apache-ant-1.9.3) ,然后配置环境变量(新建ANT_HOME环境变量,值为ant所在的目录,然后将ANT_HOME/bin添加到path中),如图: 打开命令行工具,输入 ant  -version ,如果出现如下结果,说明an

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

1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Program Files\apache-ant-1.9.3) ,然后配置环境变量(新建ANT_HOME环境变量,值为ant所在的目录,然后将ANT_HOME/bin添加到path中),如图: 打开命令行工具,输入 ant  -version ,如果出现如下结果,说明ant 安装成功.  1.2   为Androi

Android Gradle Plugin指南(五)——Build Variants(构建变种版本)

原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 6. Build Variants(构建变种版本) 新构建系统的一个目标就是允许为同一个应用创建不同的版本. 这里有两个主要的使用情景: 1.同一个应用的不同版本.例如一个免费的版本和一个收费的专业版本. 2.同一个应用需要打包成不同的apk以发布Google Play Store.查看http://developer.an