android項(xiàng)目構(gòu)建過程

平時(shí)開發(fā)過程中我們通過android studio編寫完成android項(xiàng)目之后直接點(diǎn)擊 Run 'app'就可以在build/outputs/apk生成可以在android設(shè)備中安裝的apk文件了,那么整個(gè)android源碼的構(gòu)建過程是怎么樣的呢?我們可以根據(jù)Google官方提供的流程圖來(lái)具體了解構(gòu)建的過程:

通常的構(gòu)建過程就是如上圖所示,下面是具體描述:

1.AAPT(Android Asset Packaging Tool)工具會(huì)打包應(yīng)用中的資源文件,如AndroidManifest.xml、layout布局中的xml等,并將xml文件編譯為二進(jìn)制形式,當(dāng)然assets文件夾中的文件不會(huì)被編譯,圖片及raw文件夾中的資源也會(huì)保持原來(lái)的形態(tài),需要注意的是raw文件夾中的資源也會(huì)生成資源id。AAPT編譯完成之后會(huì)生成R.java文件。

2.AIDL工具會(huì)將所有的aidl接口轉(zhuǎn)化為java接口。

3.所有的java代碼,包括R.java與aidl文件都會(huì)被Java編譯器編譯成.class文件。

4.Dex工具會(huì)將上述產(chǎn)生的.class文件及第三庫(kù)及其他.class文件編譯成.dex文件(dex文件是Dalvik虛擬機(jī)可以執(zhí)行的格式),dex文件最終會(huì)被打包進(jìn)APK文件。

5.ApkBuilder工具會(huì)將編譯過的資源及未編譯過的資源(如圖片等)以及.dex文件打包成APK文件。

6.生成APK文件后,需要對(duì)其簽名才可安裝到設(shè)備,平時(shí)測(cè)試時(shí)會(huì)使用debug keystore,當(dāng)正式發(fā)布應(yīng)用時(shí)必須使用release版的keystore對(duì)應(yīng)用進(jìn)行簽名。

7.如果對(duì)APK正式簽名,還需要使用zipalign工具對(duì)APK進(jìn)行對(duì)齊操作,這樣做的好處是當(dāng)應(yīng)用運(yùn)行時(shí)會(huì)減少內(nèi)存的開銷。


歡迎訪問我的博客:

我的CSDN

我的github

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容