Menetapkan nilai flag peluncuran fitur

Secara default, semua flag peluncuran fitur adalah READ_WRITE dan disetel ke DISABLED. Sebelum dapat menguji fitur, Anda harus mengganti nilai default yang digunakan dalam build dengan membuat file nilai flag untuk flag. Dalam file nilai flag, Anda menetapkan status flag individual (ENABLED atau DISABLED) dan izin (READ_WRITE atau READ_ONLY).

Konfigurasi rilis adalah direktori yang berisi semua file nilai flag untuk build Android tertentu (dengan fitur tertentu diaktifkan dan dinonaktifkan).

AOSP dikirimkan dengan beberapa konfigurasi rilis, seperti trunk_staging. Direktori konfigurasi rilis ditemukan di WORKING_DIRECTORY/build/release/aconfig/.

Saat menggunakan perintah lunch untuk memilih target, Anda juga menetapkan konfigurasi rilis untuk target tersebut. Misalnya, berikut adalah target trunk_staging:

lunch aosp_cf_x86_64_phone-trunk_staging-userdebug

Staging trunk adalah konfigurasi rilis pengembangan karena Google menggunakannya untuk menguji fitur sebelum rilis umum. Konfigurasi ini sebagian besar menggunakan tanda READ_WRITE yang memungkinkan Anda menguji kode dengan fitur yang diaktifkan atau dinonaktifkan saat runtime.

Pada rilis umum, gunakan konfigurasi rilis rilis. Konfigurasi rilis rilis sebagian besar menggunakan tanda READ_ONLY dan mencerminkan semua kode yang diaktifkan untuk rilis tersebut.

Menambahkan tanda ke konfigurasi rilis trunk_staging

Untuk menguji flag baru, tambahkan ke konfigurasi rilis trunk_staging sebagai berikut:

  1. Navigasikan ke WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
  2. Buat direktori dengan nama paket yang sama dengan flag Anda, seperti com.example.android.aconfig.demo.flags yang ditampilkan di Mendeklarasikan flag aconfig untuk Java.
  3. Buka direktori baru.
  4. Di direktori, buat file nilai flag yang menggabungkan nama yang digunakan dalam file deklarasi flag (.aconfig), seperti my_static_flag yang ditampilkan dalam Mendeklarasikan flag aconfig untuk Java dengan _flag_values.textproto. Nama file yang dihasilkan adalah my_static_flag_flag_values.textproto.
  5. Edit file dan tambahkan flag_value yang mirip dengan berikut:

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

    Dalam hal ini:

    • package berisi nama paket yang sama dengan yang digunakan dalam deklarasi.
    • name berisi nama yang sama dengan yang digunakan dalam deklarasi.
    • state adalah ENABLED atau DISABLED.
    • permission adalah READ_WRITE atau READ_ONLY. Secara umum, permission ditetapkan ke READ_ONLY untuk file nilai tanda yang merupakan bagian dari konfigurasi rilis.
  6. Simpan file dan keluar dari editor Anda.

  7. Di direktori yang sama dengan file nilai flag, buat file build bernama Android.bp. File ini digunakan untuk menyertakan file nilai tanda dalam build.

  8. Di file Android.bp, buat bagian aconfig_values yang mirip dengan:

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

    Dalam hal ini:

    • name adalah nama unik untuk modul build Soong. Google menggunakan konvensi aconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all. Perhatikan bahwa PATH_TO_RELEASE_CONFIG_DIR adalah build/release.
    • package berisi nama paket yang sama dengan yang digunakan dalam deklarasi.
    • srcs adalah daftar semua file nilai tanda Anda.
  9. Simpan file dan keluar dari editor Anda.

  10. Buka direktori di atas direktori saat ini (cd ..)

  11. Edit file Android.bp. File build ini berisi daftar nama (name) yang terkait dengan setiap file nilai tanda. Tambahkan nama yang Anda gunakan dalam file build sebelumnya (langkah 8) ke daftar ini.

  12. Build Android, dan jalankan kode baru Anda untuk memastikan kode tersebut diaktifkan sesuai setelan dalam file nilai flag.