AOSP 使用 Soong 建構系統建構 Android。Soong 使用 kati GNU Make 複製工具和 Ninja 建構系統元件,加快 Android 建構速度。
Soong 建構檔案稱為藍圖檔案,名稱為 Android.bp。這些檔案的語法和語意與 Bazel BUILD 檔案類似。
如要進一步瞭解 Android.bp 檔案格式,請參閱「Android.bp 檔案格式」。
如要進一步瞭解如何將 Make 檔案轉換為 Android.bp 檔案,請參閱「Make 和 Soong 比較」。
功能發布旗標和建構旗標
功能發布旗標是二進位旗標,用於將未測試的程式碼與已測試的程式碼隔離。如果您維護自己的 Android 開放原始碼計畫 外部開發分支版本鏡像,可以使用這些旗標確保鏡像程式碼穩定。如果您要將程式碼貢獻給公開的外部開發分支版本,審查人員可能會要求您為程式碼實作旗標。
建構標記是建構時間的字串常數,用於修改建構作業,例如選擇性地納入程式碼程式庫。
如要進一步瞭解不同的程式碼分支版本,請參閱「發布生命週期」。
功能發布旗標和建構旗標需要變更建構檔案。如要進一步瞭解這些標記,以及如何在建構作業中使用這些標記,請參閱「功能發布標記總覽」。
使用 R8 縮減程式碼和資源
Soong 會使用 R8 編譯器縮減及最佳化編譯 DEX 位元碼的 Java 和 Kotlin 目標,例如 android_app、android_test 和可安裝的 java_library 模組。在靜態程式庫 (例如 android_library 和靜態 java_library) 中,optimize 區塊會附加並匯出取用者保留規則。
如要進一步瞭解如何設定 R8 最佳化和保留規則,請參閱「使用 R8 最佳化平台程式碼和資源」。