Android 專案包含許多建構相關檔案和目錄結構, 管理應用程式來源和資源深入課程前 設定詳細資料後,我們會探討整體架構和基本概念 每個部分代表的意義
下表列出 Android 專案中的一般檔案。每項方案的說明 檔案或目錄包含附註,指出其中包含哪些內容。最佳 實際做法會隨時間演變,且這些說明內容不一定符合專案需求 下載網址
編寫建構檔案時,採用宣告式方法。建構邏輯和工作 定義應該只出現在外掛程式中透過將建構邏輯限制為使用外掛程式 建構檔案變成資料宣告,讓使用者可以直接理解 編輯及編輯日後推出的版本可能會包含替代規格,例如 宣告式 Gradle,可防止 檔案。
資料夾/檔案 |
使用 |
---|---|
.gradle/ |
Gradle 專案快取目錄 由 Gradle 管理,內含下載的 Gradle 發行版本、專案快取和設定檔。 請勿變更這個目錄中的檔案! |
.idea/ |
Android Studio 專案中繼資料 請勿變更這個目錄中的檔案! |
build.gradle(.kts) |
其中只能包含外掛程式宣告,以便設定不同子專案中的通用外掛程式類別路徑。 其他程式碼應位於設定或巢狀專案層級建構檔案中。 |
gradle.properties |
包含 Gradle 屬性,可控管 Gradle 建構環境的各項設定,例如堆積大小、快取和平行執行。 這裡定義了一些暫時性 Android 屬性,以便在新增及移除 AGP DSL 時減少對 AGP DSL 所做的變更。 |
gradlew (linux、Mac) gradlew.bat (Windows) |
Gradle 包裝函式 檔案 下載 Gradle 發行版,然後將指令轉送至該版本,藉此啟動建構作業。這可讓您在不預先安裝 Gradle 的情況下執行建構作業。 |
local.properties |
本機電腦設定 包含與本機電腦相關的屬性,例如 Android SDK 位置。 將這個檔案從原始碼控管機制中排除! |
settings.gradle(.kts) |
包含 Gradle 初始化和專案設定的全域建構資訊,例如
|
Gradle/ |
|
ꛭ libs.versions.toml |
定義版本中使用的依附元件和外掛程式變數。您可以在這裡指定要使用的版本,確保專案中的所有子專案保持一致。 |
ꛭ 包裝函式/ |
|
🎨? gradle‐wrapper.jar |
下載指定的 Gradle 發行版 (如果沒有該發行版),然後執行該套件,再透過任何引數傳遞。 |
🎨? gradle‐wrapper.properties |
Gradle 包裝函式的設定 指定 Gradle 發行版本的下載位置 (包括要使用的版本)。 |
應用程式/ |
子專案 (在 Android Studio 中稱為「模組」) 可以建構應用程式或程式庫,並可能依附於其他子專案或外部依附元件。
|
🎨? build.gradle(.kts) |
宣告這個子專案的建構方式。每項子專案都需要獨立的建構檔案,且應包含
您不應在建構檔案中加入建構邏輯 (例如 Kotlin 函式定義或條件) 或工作宣告。建構邏輯和工作只應包含在外掛程式中。 |
ꛭ src/ |
子專案來源檔案 將來源檔案 (應用程式程式碼和資源) 編入來源集。 |
🎨? main/ |
主要 來源集 所有建構變數通用的原始碼和資源。這個來源是所有版本的基礎,而其他更具體的來源集可新增或覆寫此來源。 |
Far java/ 🎨? kotlin/ |
Kotlin 和 Java 原始碼
|
🎨? res/ |
包含應用程式資源,例如 XML 檔案和圖片。所有應用程式都會使用部分基本資源 (例如啟動器圖示),但其中許多資源 (例如版面配置和選單) 都只會用於以檢視區塊為基礎的應用程式。Compose 應用程式會使用此目錄中定義的 String 資源。 |
ꛭ AndroidManifest.xml |
由 Android 套件管理員讀取,告知系統
|
ꛭ androidTest/ |
裝置測試 來源集 包含將在 Android 裝置或模擬器上執行的測試來源。這些測試可存取真實 Android 環境,但執行速度比主機測試慢。 |
pdf 測試/ |
主機測試 來源集 含有在 JVM 本機執行測試的來源,而不是在裝置上執行的測試。這類測試的執行速度比裝置測試更快。不過,任何系統呼叫 (包括執行應用程式的生命週期) 都必須經過模擬、虛假、虛設常式或其他模擬。
|
🎨? proguard-rules.pro |
定義用於控制應用程式的縮減、最佳化和模糊處理規則。R8 會移除不需要的程式碼和資源,改善執行階段效能,並透過重新命名 ID 進一步將程式碼最小化。 |