Özellik lansmanı işareti değerlerini ayarlama

Varsayılan olarak tüm özellik lansmanı işaretleri READ_WRITE ve DISABLED olarak ayarlanır. Bir özelliği test edebilmeniz için, derlemede kullanılan varsayılan değeri, işaret için işaret değerleri dosyası oluşturarak geçersiz kılmanız gerekir. Bir işaret değerleri dosyasında, tek bir işaretin durumunu (ENABLED veya DISABLED) ve iznini (READ_WRITE veya READ_ONLY) ayarlarsınız.

Yayın yapılandırması, Android'in belirli bir sürümü için tüm işaret değerleri dosyalarını (belirli özellikler etkin ve devre dışı bırakılmış olarak) içeren bir dizindir.

AOSP, trunk_staging gibi birkaç yayın yapılandırmasıyla birlikte gönderilir. Yayın yapılandırma dizinleri WORKING_DIRECTORY/build/release/aconfig/ altında bulunur.

lunch komutunu kullanarak hedef seçtiğinizde, hedef için yayın yapılandırmasını da ayarlarsınız. Örneğin, aşağıdakiler trunk_staging hedefidir:

lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug

Google, özellikleri genel kullanıma sunmadan önce test etmek için kullandığından ana dalda hazırlama, geliştirme sürümü yapılandırmasıdır. Bu yapılandırmada, kodunuzu çalışma zamanında etkinleştirilmiş veya devre dışı bırakılmış özelliklerle test etmenize olanak tanıyan READ_WRITE işaretleri kullanılır.

Genel kullanıma sunulduğunda yayın sürümü yapılandırması kullanın. Yayın yapılandırması, çoğunlukla READ_ONLY işaretlerini kullanır ve bu yayın için etkinleştirilen tüm kodları yansıtır.

trunk_staging yayın yapılandırmasına işaret ekleme

Yeni bir işareti test etmek için trunk_staging yayın yapılandırmasına aşağıdaki şekilde ekleyin:

  1. WORKING_DIRECTORY/build/release/aconfig/trunk_staging/ konumuna git
  2. Bayrağınızla aynı paket adına sahip bir dizin oluşturun. Örneğin, com.example.android.aconfig.demo.flags, Java için aconfig bayrağı bildirme bölümünde gösterildiği gibi.
  3. Yeni dizine gidin.
  4. Dizinde, işaret bildiriminde (.aconfig) kullanılan adı birleştiren bir işaret değerleri dosyası oluşturun. Örneğin, _flag_values.textproto ile birlikte Java için aconfig işareti bildirme bölümünde gösterilen my_static_flag. Elde edilen dosya adı my_static_flag_flag_values.textproto olur.
  5. Dosyayı düzenleyerek aşağıdakine benzer bir flag_value ekleyin:

    flag_value {
      package: "com.example.android.aconfig.demo.flags"
      name: "my_static_flag"
      state: DISABLED
      Permission: READ_WRITE
    }
    

    Nerede:

    • package, beyanda kullanılan paket adını içeriyor.
    • name, beyanda kullanılan adla aynı adı içeriyor.
    • state, ENABLED veya DISABLED'dir.
    • permission, READ_WRITE veya READ_ONLY'dir. Genellikle, yayın yapılandırmasının parçası olan işaret değerleri dosyaları için permission, READ_ONLY olarak ayarlanır.
  6. Dosyayı kaydedin ve düzenleyicinizden çıkın.

  7. İşaret değerleri dosyasıyla aynı dizinde Android.bp adlı bir derleme dosyası oluşturun. Bu dosya, işaret değerleri dosyasını derlemeye dahil etmek için kullanılır.

  8. Android.bp dosyasında, aşağıdakine benzer bir aconfig_values bölümü oluşturun:

    aconfig_values {
      name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all",
      package: "com.android.aconfig.test",
      srcs: [
        "*_flag_values.textproto",
      ]
    }
    

    Nerede:

    • name, Soong derleme modülünün benzersiz adıdır. Google, aconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all kuralını kullanır. PATH_TO_RELEASE_CONFIG_DIR değerinin build/release olduğunu unutmayın.
    • package, beyanda kullanılan paket adını içeriyor.
    • srcs, tüm işaret değerleri dosyalarınızın listesidir.
  9. Dosyayı kaydedin ve düzenleyicinizden çıkın.

  10. Geçerli dizinin üstündeki dizine git (cd ..)

  11. Android.bp dosyasını düzenleyin. Bu derleme dosyası, her işaret değerleri dosyasıyla ilişkili adların listesini içerir (name). Önceki derleme dosyasında (8. adım) kullandığınız adı bu listeye ekleyin.

  12. Android'i oluşturun ve yeni kodunuzun, işaret değerleri dosyasındaki ayara göre etkinleştirildiğinden emin olmak için kodu çalıştırın.