日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android构建流程——篇一

發(fā)布時(shí)間:2024/9/30 Android 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android构建流程——篇一 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Android構(gòu)建流程

    • 前言
    • APK 構(gòu)建流程
    • AGP(3.2.0)任務(wù)列表總覽圖
    • 參考文獻(xiàn)

前言

大家平時(shí)開發(fā)Android項(xiàng)目時(shí)一般都是點(diǎn)擊AS run按鈕,這樣apk會(huì)自動(dòng)安裝到手機(jī)上,這整個(gè)過(guò)程到底發(fā)生來(lái)什么呢?

今天就來(lái)梳理下整個(gè)流程gradle做了什么,講解前先來(lái)熟悉下apk整體構(gòu)建流程

APK 構(gòu)建流程

官方新圖

如圖 1 所示,典型 Android 應(yīng)用模塊的構(gòu)建流程通常按照以下步驟執(zhí)行:

  • 編譯器將您的源代碼轉(zhuǎn)換成 DEX 文件(Dalvik 可執(zhí)行文件,其中包括在 Android 設(shè)備上運(yùn)行的字節(jié)碼),并將其他所有內(nèi)容轉(zhuǎn)換成編譯后的資源。
  • APK 打包器將 DEX 文件和編譯后的資源合并到一個(gè) APK 中。不過(guò),在將應(yīng)用安裝并部署到 Android 設(shè)備之前,必須先為 APK 簽名。
  • APK 打包器使用調(diào)試或發(fā)布密鑰庫(kù)為 APK 簽名:
    • 如果您構(gòu)建的是調(diào)試版應(yīng)用(即專用于測(cè)試和分析的應(yīng)用),則打包器會(huì)使用調(diào)試密鑰庫(kù)為應(yīng)用簽名。Android Studio 會(huì)自動(dòng)使用調(diào)試密鑰庫(kù)配置新項(xiàng)目。
    • 如果您構(gòu)建的是打算對(duì)外發(fā)布的發(fā)布版應(yīng)用,則打包器會(huì)使用發(fā)布密鑰庫(kù)為應(yīng)用簽名。如需創(chuàng)建發(fā)布密鑰庫(kù),請(qǐng)參閱在 Android Studio 中為應(yīng)用簽名。
  • 在生成最終 APK 之前,打包器會(huì)使用 zipalign 工具對(duì)應(yīng)用進(jìn)行優(yōu)化,以減少其在設(shè)備上運(yùn)行時(shí)所占用的內(nèi)存。
    構(gòu)建流程結(jié)束時(shí),您將獲得應(yīng)用的調(diào)試版 APK 或發(fā)布版 APK,以用于部署、測(cè)試或發(fā)布給外部用戶。

  • 上面是官方新圖,感覺(jué)沒(méi)有👇舊圖詳細(xì)

    從上圖可以看出APK打包流程主要分以下幾個(gè)步驟

  • aapt工具處理app res文件,生成R.java 、resources.arsc(資源映射關(guān)系表)、res文件
  • aidl工具處理aidl文件,生成對(duì)應(yīng)的java文件
  • javac 對(duì)上述二個(gè)步驟中生成的java文件和項(xiàng)目中源代碼文件進(jìn)行編譯,生成字節(jié)碼文件(.class)
  • dex工具接受步驟3中的.class文件、第三方庫(kù)的.class文件處理生成dex文件
  • apkbuilder工具將aapt生成的resources.arsc、res文件、dex文件一起打包生成apk
  • 使用Jarsigner工具對(duì)apk進(jìn)行簽名
  • 對(duì)步驟6的產(chǎn)物進(jìn)行zipalign操作(減少運(yùn)行應(yīng)用時(shí)消耗的 RAM 容量)
  • AGP(3.2.0)任務(wù)列表總覽圖

    下圖為構(gòu)建示例工程APK涉及的任務(wù)列表,大體有30+個(gè)任務(wù);黃色代表較重要任務(wù),每個(gè)task都標(biāo)注了對(duì)應(yīng)的類;后面的構(gòu)建流程分析篇都是基于該圖進(jìn)行展開說(shuō)明的。

    👇
    Android構(gòu)建流程——下篇

    參考文獻(xiàn)

    • https://developer.android.com/studio/build/index.html?hl=zh-cn#build-config
    • https://developer.android.com/studio/command-line/aapt2
    • https://developer.android.com/studio/command-line/zipalign.html

    總結(jié)

    以上是生活随笔為你收集整理的Android构建流程——篇一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。