- Java -- javac --> .class
用 javac 把 java 文件編譯成 class 文件
- .class + .jar -- dx --> classes.dx
用 dx 把.class 和 .jar文件打包成 classes.dx
- classes.dx + resources asset -- aapt --> .apk
用 Android asset packaging tool 把 classes 和 resource 打包成 .apk 文件
- .apk -- jarsigner -- zipalign --> signed .apk file
- jarsigner 對 apk 進行簽名
簽名的結(jié)果是在 apk 里面增加一個基于 .apk 文件內(nèi)容checksum 結(jié)果的文件;以及一個私鑰文件浇雹。 - zipalign 對壓縮后的apk 文件進行按字節(jié)對齊米母,這樣Android 就可以在不解壓縮的前提下讀取這個壓縮過的 apk 文件內(nèi)容绞灼。