AOSP, Android'i oluşturmak için Soong derleme sistemini kullanır. Soong, Android'in derlemelerini hızlandırmak için kati GNU Make klonlama aracını ve Ninja derleme sistemi bileşenini kullanır.
Soong derleme dosyaları blueprint dosyaları olarak adlandırılır ve Android.bp olarak adlandırılır. Bu dosyalar, sözdizimi ve semantik olarak Bazel BUILD dosyalarına benzer.
Android.bp dosya biçimi hakkında daha fazla bilgi için Android.bp dosya biçimi başlıklı makaleyi inceleyin.
Make dosyalarını Android.bp dosyalarına dönüştürme hakkında daha fazla bilgi için Make ve Soong karşılaştırması başlıklı makaleyi inceleyin.
Özellik başlatma işaretleri ve derleme işaretleri
Özellik lansmanı işaretleri, test edilmemiş kodu test edilmiş koddan ayırmak için kullanılan ikili işaretlerdir. AOSP harici geliştirme dalının kendi yansıtılmış sürümünü tutuyorsanız yansıtılmış kodunuzu kararlı tutmak için bu işaretleri kullanabilirsiniz. Herkese açık harici geliştirme dalına kod gönderiyorsanız incelemeciniz kodunuz için bir işaret uygulamanızı isteyebilir.
Derleme işaretleri, derlemenizi değiştirmek için kullanılan derleme zamanı dize sabitleridir. Örneğin, isteğe bağlı olarak bir kod kitaplığı ekleyebilirsiniz.
Farklı kod dalları hakkında daha fazla bilgi için Sürüm yaşam döngüsü konusuna bakın.
Özellik lansmanı işaretleri ve derleme işaretleri için derleme dosyalarında değişiklik yapılması gerekir. Bu işaretler ve bunları derlemede kullanma hakkında daha fazla bilgi için Özellik lansmanı işaretlerine genel bakış başlıklı makaleyi inceleyin.
R8 ile kod ve kullanılmayan kaynakları kaldırma
Soong, android_app, android_test ve yüklenebilir java_library modülleri gibi DEX bayt kodu derleyen Java ve Kotlin hedeflerini küçültmek ve optimize etmek için R8 derleyicisini kullanır. android_library ve java_library gibi statik kitaplıklarda, optimize bloğu eklenir ve tüketici saklama kuralları dışa aktarılır.
R8 optimizasyonunu ve saklama kurallarını yapılandırma hakkında daha fazla bilgi için R8 ile platform kodunu ve kaynaklarını optimize etme başlıklı makaleyi inceleyin.