Ö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 edebilmek için işaret için bir işaret değerleri dosyası oluşturarak derlemede kullanılan varsayılan değeri geçersiz kılmanız gerekir. İşaret değerleri dosyasında, her bir işaretin durumunu (ENABLED veya DISABLED) ve iznini (READ_WRITE veya READ_ONLY) ayarlarsınız.

Sürüm yapılandırması, belirli bir Android derlemesinin tüm işaret değeri dosyalarını (belirli özellikler etkin ve devre dışıyken) içeren bir dizindir.

AOSP, trunk_staging gibi birkaç sürüm yapılandırmasıyla birlikte gönderilir. Sürüm yapılandırma dizinleri WORKING_DIRECTORY/build/release/aconfig/ altında bulunur.

Hedef seçmek için lunch komutunu kullandığınızda hedefin sürüm yapılandırmasını da ayarlarsınız. Örneğin, aşağıdakiler trunk_staging hedefidir:

lunch aosp_cf_x86_64_phone-trunk_staging-userdebug

Google, özellikleri genel sürümden önce test etmek için kullandığından ana dalda bekletme, geliştirme sürümü yapılandırması olarak kabul edilir. Bu yapılandırma, çoğunlukla kodunuzu çalışma zamanında etkin veya devre dışı özelliklerle test etmenize olanak tanıyan READ_WRITE işaretlerini kullanır.

Genel sürümde sürüm yayınlama yapılandırması kullanın. Sürüm yapılandırmaları çoğunlukla READ_ONLY işaretlerini kullanır ve söz konusu sürüm için etkinleştirilen tüm kodu yansıtır.

trunk_staging sürüm yapılandırmasına işaret ekleme

Yeni bir işareti test etmek için aşağıdaki gibi trunk_staging sürüm yapılandırmasına ekleyin:

  1. WORKING_DIRECTORY/build/release/aconfig/trunk_staging/ konumuna git
  2. İşaretiniz ile aynı paket adına sahip bir dizin oluşturun (ör. Java için aconfig işareti tanımlama bölümünde gösterilen com.example.android.aconfig.demo.flags).
  3. Yeni dizine gidin.
  4. Dizinde, işaret beyanında (.aconfig) kullanılan adı (ör. Java için aconfig işareti tanımlama bölümünde gösterilen my_static_flag) _flag_values.textproto ile birleştiren bir işaret değerleri dosyası oluşturun. Elde edilen dosya adı my_static_flag_flag_values.textproto olur.
  5. Dosyayı düzenleyin ve 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, beyannamede kullanılan paket adını içerir.
    • name, beyanda kullanılan adla aynı olmalıdır.
    • state, ENABLED veya DISABLED değerini alır.
    • permission, READ_WRITE veya READ_ONLY değerini alır. Genellikle, bir sürüm yapılandırmasının parçası olan işaret değeri dosyaları için permission, READ_ONLY olarak ayarlanır.
  6. Dosyayı kaydedip 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, beyannamede kullanılan paket adını içerir.
    • srcs, işaret değeri dosyalarınızın tümünün listesidir.
  9. Dosyayı kaydedip düzenleyicinizden çıkın.

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

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

  12. Android'i derleyin ve işaret değerleri dosyasında belirtilen ayarlara göre etkinleştirildiğinden emin olmak için yeni kodunuzu çalıştırın.