ant编译Android项目的过程

来源:互联网 发布:什么是网络渗透技术 编辑:程序博客网 时间:2024/06/10 03:11

1.用aapt工具打包资源文件,生成R.java

2.处理AIDL文件,生成对应的.java文件,没有AIDL文件此步骤跳过

3.编译.java文件生成.class文件

4.将.class文件转换成.dex文件

5.将1-4步骤的产物及lib库打包生成未签名的apk

6.给未签名的apk签名

7.将步骤6中的产物进行优化和对齐。

对于用ant工具编译android APP:主要在项目的build.xlm进行各项配置,build.xml文件可以自己手动编写,也可以通过android update project -p -t –name来生成

-p(path) 参数指定要update的android项目的路径,-t(target)指定目标android 版本, –name工程名称

<?xml version="1.0" encoding="UTF-8"?><project name="MyApp" default="help">   <!--我们每次执行android update -p 的时候都会刷新这个文件,所以在这个文件上进行更改是没有用的,更改都会被替换,里面存放的是jdk路径-->    <property file="local.properties" />  <!--这个文件我们可以自行编辑,可以设置一些属性,比如java.tartget,java.source等,可以在sdk路径下的tools里面的build.xml里面查看更多的选项-->    <property file="ant.properties" /> <!-- 如果上面两个路径都没有指定sdk路径,则使用环境变量中的sdk路径。-->     <property environment="env" />    <condition property="sdk.dir" value="${env.ANDROID_HOME}">        <isset property="env.ANDROID_HOME" />    </condition>   <!--projcect.properties为项目的一些配置,比如target,以来的lib等。-->    <loadproperties srcFile="project.properties" />    <!--找不到sdk时给出提示信息-->    <fail            message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."            unless="sdk.dir"    />  <!--可以定制私人的一些target, optionnal="true"表示可选的,即这个文件可以没有,他是放在项目根目录的-->    <import file="custom_rules.xml" optional="true" />  <!--导入skd路径下的tools里面的build.xml,我们上面提及的ant的编译的几个步骤,都在这个build.xml文件中能找到。比如我们用的ant relase时,即执行这个文件里面编写的操作。-->    <import file="${sdk.dir}/tools/ant/build.xml" /></project>
0 0