İşaret kullanımını ve türünü belirleme

Özellik lansmanı işaretleri, Google tarafından kararlı kod dalları sağlamak için bir yaklaşım olarak kullanılır. Bu işaretler, AOSP'ye yapılan belirli katkı türleri için de gereklidir. Özellik lansmanı işaretlemesini uygulamadan önce, değişikliğiniz için bir işaretin gerekli olup olmadığını belirleyin. Ayrıca, işaret gerekiyorsa kullanılacak işaret türünü belirlemeniz gerekir.

İşaret kullanımını belirleme

Bir özellik lansman işaretini ne zaman kullanacağınızı belirlemek için aşağıdaki yönergeleri izleyin:

  • Yeni bir özellik ekleme veya özellikle karmaşık bir hatayı düzeltme gibi AOSP kod tabanının kararsız olmasına neden olabilecek bir değişiklik yapıyorsanız özellik lansmanı işaretçisi kullanın.

  • Buna karşılık, kod tabanının kararsız olmasına neden olmayacak bir kod değişikliği yapıyorsanız (ör. yorumları değiştirmek) özellik başlatma işareti kullanmanız gerekmez.

İşaret türünü belirleme

İki tür işaret vardır: aconfig flag'leri ve derleme işaretleri.

Aconfig işaretleri

Config flag'leri, test ve yayınlama işlemi sırasında yayınlanmayan kodun yürütülmesini yayınlanan koddan ayırmak için kullanılır. Yapılandırma işaretleri salt okunur veya salt yazılabilir olabilir:

  • Aconfig okuma-yazma işaretleri, çalışma zamanında etkinleştirebileceğiniz (true olarak ayarlanmış) veya devre dışı bırakabileceğiniz (false olarak ayarlanmış) boole değişkenleridir. Ana dalın kararlılığını etkilemeden değişiklikleri test etmek ve yayınlamak için bir okuma/yazma işareti kullanın.

  • Salt okunur aconfig işaretleri, çalışma zamanında değiştiremeyeceğiniz boole sabit değerleridir. Kararlı ve yayınlanmaya hazır kod için okuma-yazma aconfig işaretlerini salt okunur aconfig işaretlerine dönüştürebilirsiniz.

    Ayrıca, kullandığınız derleyiciye bağlı olarak salt okunur bir işaret kullanıldığında, yürütülmeyen kod derlemeden hariç tutulabilir. Bu nedenle, bir sürüme dahil edilmeye hazır olmayan kodları gizlemek için salt okuma işaretlerini kullanabilirsiniz.

İşaret oluşturma

Derleme işaretleri, derleme zamanı sabitleridir (dizelerdir) ve bunları çalışma zamanında değiştiremezsiniz. Bu işaretleri, config flag'lerinin kullanılamadığı durumlarda kullanın. Örneğin:

  • Derlemeye dahil etmek istediğiniz önceden derlenmiş veya önceden oluşturulmuş bir kodunuz var.
  • Kendi sisteminizi derlemek için değişiklikler yapmak istiyorsunuz.
  • Kod boyutunu yönetmek için bağımlılıkların etrafına işaretler koymak istiyorsunuz.