要得心应手地进行Android应用开发需要我们对Android工程的编译和打包有一个比较深入的理解,例如知道它的每一步都做了什么,需要什么环境和工具,输入和输出是什么,等等。
在前文《命令行下Android应用开发》中我们已经知道如何创建一个Android工程和编译运行可调试版本的应用程序。本文将介绍Android工程的整个编译过程。
首先来分析Ant如何将Android工程编译打包成APK文件
执行ant debug命令时ant 脚本build.xml各target之间的依赖关系图
执行ant debug命令时ant 脚本各target执行顺序图
Android应用构建过程图
从上面这些图示中可以总结出Androd应用的构建过程大致如下:
1、生成R.java类文件
2、将.aidl文件转换成.java类文件
3、编译.java类文件生成class文件
4、将class文件打包生成classes.dex文件
5、打包资源文件(包括res、assets、AndroidManifest.xml等)
6、生成debug模式签名的apk文件
7、对apk文件进行对齐处理