1. 程式人生 > >Android原始碼是如何自動生成apk檔案的

Android原始碼是如何自動生成apk檔案的

官方版(典型的構建流程圖)

這裡寫圖片描述

說明:

aapt(Android Asset Packaging Tool)給你的Activity提供所需的資原始檔,如 AndroidManifest.xml,XML檔案,並編譯它們。同時產生R.java檔案,使你可以在java程式碼中引用這些資源。–(我覺得是建立專案時自動生成的檔案)

aidl工具把.aidl介面轉換成Java介面。

你所有的Java程式碼,包括 R.java和 .aidl檔案,由Java編譯器Java Compiler編譯輸出.class檔案。

dex工具把.class檔案轉換成Dalvik位元組檔案,第三方的類和.class也被轉換成.dex檔案

所有無法編譯的資源(比如圖片),編譯好的資原始檔和.dex都被送到apkbuilder工具中,生成最後的.apk

生成.apk時必須制定是debug還是release,release還要提供相應的key

如果選擇release版本,還需要使用zipalign工具對apk對齊。齊處理即使得所有資原始檔距離檔案起始偏移為4位元組的整數倍,這樣通過記憶體對映訪問apk檔案時處理速度更快。

生成的apk在哪裡?

生成的apk在建立專案的路徑\專案名\app\build\outputs\apk目錄下,命名規則 app-XX.apk,例如,目錄F:\AndroidApps\CeWidgets\app\build\outputs\apk下的,
app-debug.apk

詳細版

這裡寫圖片描述