סקירה כללית על פיתוח

מערכת ה-build‏ Soong משמשת את AOSP כדי לבנות את Android. מערכת Soong משתמשת בכלי kati שהוא שיבוט של GNU Make ובמרכיב של מערכת ה-build Ninja כדי להאיץ את ה-build של Android.

קבצי build של Soong נקראים קבצי תוכנית והשם שלהם הוא Android.bp. הקבצים האלה דומים מבחינת התחביר והסמנטיקה לקבצי BUILD של Bazel.

מידע נוסף על פורמט הקובץ Android.bp זמין במאמר בנושא פורמט הקובץ Android.bp.

מידע נוסף על המרת קובצי Make לקובצי Android.bp זמין במאמר בנושא השוואה בין Make ל-Soong.

דגלים להשקת תכונות ודגלים לבנייה

דגלים להשקת תכונות הם דגלים בינאריים שמשמשים לבידוד קוד שלא נבדק מקוד שנבדק. אם אתם מנהלים שיקוף משלכם של ענף הפיתוח החיצוני של AOSP, אתם יכולים להשתמש בדגלים האלה כדי לשמור על יציבות הקוד המשוקף. אם אתם תורמים קוד לענף הפיתוח החיצוני הציבורי, יכול להיות שהבודק יבקש מכם להטמיע דגל בקוד.

דגלי Build הם קבועים של מחרוזות בזמן ה-Build שמשמשים לשינוי ה-Build, כמו הכללה אופציונלית של ספריית קוד.

מידע נוסף על ענפי קוד שונים זמין במאמר בנושא מחזור החיים של גרסה.

דגלים להשקת תכונות ודגלי build מחייבים שינויים בקובצי build. מידע נוסף על הדגלים האלה ועל אופן השימוש בהם ב-build זמין במאמר סקירה כללית על דגלים להשקת תכונות.

כיווץ קוד ומשאבים באמצעות R8

מערכת Soong משתמשת בקומפיילר R8 כדי לכווץ ולבצע אופטימיזציה של יעדי Java ו-Kotlin שקומפלו ל-DEX bytecode, כמו android_app,‏ android_test ומודולים שניתן להתקין java_library. בספריות סטטיות, כמו android_library ו-static java_library, הבלוק optimize מצורף ומייצא כללי שמירה על נתונים של צרכנים.

מידע נוסף על הגדרת אופטימיזציה של R8 וכללי שמירה זמין במאמר בנושא אופטימיזציה של קוד ומשאבים בפלטפורמה באמצעות R8.