AOSP از سیستم ساخت Soong برای ساخت Android استفاده میکند. Soong از ابزار همسانهسازی GNU Make بهنام kati و عنصر سیستم ساخت Ninja برای سرعت بخشیدن به ساخت Android استفاده میکند.
فایلهای ساخت Soong را فایلهای طرح اولیه مینامند و نام آنها Android.bp است. این فایلها ازنظر دستور زبان و معناشناسی شبیه به
فایلهای Bazel BUILD هستند.
برای کسب اطلاعات بیشتر درباره قالب فایل Android.bp، به
قالب فایل Android.bp مراجعه کنید.
برای کسب اطلاعات بیشتر درباره تبدیل فایلهای Make به فایلهای Android.bp، به
مقایسه Make و Soong مراجعه کنید.
پرچمهای راهاندازی ویژگی و پرچمهای ساخت
پرچمهای راهاندازی ویژگی پرچمهای دوتایی هستند که برای جدا کردن کد آزمایشنشده از کد آزمایششده استفاده میشوند. اگر نسخه آینهای خودتان را از شاخه توسعه خارجی AOSP نگهداری میکنید، میتوانید از این پرچمها برای حفظ پایداری کد آینهای خود استفاده کنید. اگر در شاخه توسعه خارجی عمومی کد همیاری میکنید، بازبین شما ممکن است از شما بخواهد پرچمی برای کدتان پیادهسازی کنید.
پرچمهای ساخت ثابتهای رشتهای زمان ساخت هستند که برای اصلاح ساخت شما استفاده میشوند، مثلاً بهصورت اختیاری کتابخانه کد را اضافه میکنند.
برای اطلاعات بیشتر درباره شاخههای مختلف کد، به چرخه حیات نسخه پخش مراجعه کنید.
پرچمهای راهاندازی ویژگی و پرچمهای ساخت به تغییر در فایلهای ساخت نیاز دارند. برای اطلاعات بیشتر درباره این پرچمها و نحوه استفاده از آنها در ساخت، به نمای کلی پرچمهای راهاندازی ویژگی مراجعه کنید.
کوچک کردن کد و منابع با R8
Soong از گردآورنده R8 برای کوچک کردن و بهینهسازی هدفهای Java و Kotlin که
بایتکد DEX را گردآوری میکنند، مثل android_app، android_test، و واحدهای
java_library نصبشدنی استفاده میکند. در کتابخانههای ایستا، مثل android_library و
ایستای java_library، بلوک optimize قوانین نگهداری مصرفکننده را پیوست و صادر میکند.
برای کسب اطلاعات بیشتر درباره پیکربندی بهینهسازی R8 و قوانین نگهداری، به بهینهسازی کد پلاتفرم و منابع با R8 مراجعه کنید.