खास जानकारी

AOSP, Android बनाने के लिए Soong बिल्ड सिस्टम का इस्तेमाल करता है. Soong, Android के बिल्ड को तेज़ करने के लिए, kati GNU Make क्लोन टूल और Ninja बिल्ड सिस्टम कॉम्पोनेंट का इस्तेमाल करता है.

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 की मदद से प्लैटफ़ॉर्म कोड और संसाधनों को ऑप्टिमाइज़ करना लेख पढ़ें.