要得心應手地進行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文件進行對齊處理