本文鏈接:https://blog.csdn.net/brycegao321/article/details/79127159
打包流程圖:
1.打包資源文件.
2.處理aidl文件妈踊,生成相應(yīng)java文件夕膀。
3.編輯工程源代碼呢燥,生成相應(yīng)class文件饭聚。
這一步調(diào)用了Java編譯工程src目錄下所有的java源文件进副,生成的class文件位于工程的bin\classes目錄下,上圖假定編譯工程源代碼時(shí)程序基于android SDK開發(fā)的,實(shí)際開發(fā)過程中,也有可能使用android NDK來編譯native代碼刘陶,因此,如果可能的話牢撼,還是需要使用android NDK編譯C/C++代碼匙隔,當(dāng)然,編譯C/C++代碼的步驟也可以提前到第一步或第二步熏版。通過Java Compiler編譯R.java纷责、Java接口文件、Java源文件撼短,生成.class文件再膳。
4.轉(zhuǎn)換所有class文件,生成classess.dex文件曲横。android虛擬機(jī)的可執(zhí)行文件為的學(xué)科是喂柒,因此需要此步驟。
5.打包生成apk禾嫉。打包后的res文件(除res/raw資源被原裝不動(dòng)的打包進(jìn)APK之外)打包后類文件(.dex文件)灾杰、libs文件(包括.so文件,當(dāng)然很多工程都沒有這樣的文件夭织,如果你不使用C/C++開發(fā)的話)吭露、resources.arsc、assets尊惰、AndroidManifest.xml打包成apk文件讲竿。
6.對apk文件進(jìn)行簽名
7.對簽名后的apk文件進(jìn)行對齊處理。在Android SDK中包含一個(gè)名為“zipalign” 的工具弄屡,它能夠?qū)Υ虬蟮?app 進(jìn)行優(yōu)化题禀。 即對簽名后的apk進(jìn)行對齊處理。