Secara default, semua flag peluncuran fitur adalah READ_WRITE dan ditetapkan ke DISABLED.
Sebelum dapat menguji fitur, Anda harus mengganti nilai default yang digunakan dalam build dengan membuat file nilai flag untuk flag tersebut. 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 dilengkapi dengan beberapa konfigurasi rilis, seperti trunk_staging.
Direktori konfigurasi rilis dapat ditemukan di bagian
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_only_phone-trunk_staging-userdebug
Trunk staging adalah konfigurasi rilis pengembangan karena Google menggunakannya untuk menguji fitur sebelum rilis umum. Konfigurasi ini sebagian besar menggunakan flag READ_WRITE yang memungkinkan Anda menguji kode dengan fitur yang diaktifkan atau dinonaktifkan saat runtime.
Saat rilis umum, gunakan konfigurasi rilis rilis. Konfigurasi rilis rilis sebagian besar menggunakan flag READ_ONLY dan mencerminkan semua kode yang diaktifkan untuk rilis tersebut.
Menambahkan flag ke konfigurasi rilis trunk_staging
Untuk menguji flag baru, tambahkan ke konfigurasi rilis trunk_staging sebagai berikut:
- Buka
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/ - Buat direktori dengan nama paket yang sama dengan flag Anda, seperti
com.example.android.aconfig.demo.flagsyang ditampilkan di Mendeklarasikan flag aconfig untuk Java. - Buka direktori baru.
- Di direktori, buat file nilai flag yang menggabungkan nama yang digunakan dalam
file deklarasi flag (
.aconfig), sepertimy_static_flagyang ditampilkan di Mendeklarasikan flag aconfig untuk Java dengan_flag_values.textproto. Nama file yang dihasilkan adalahmy_static_flag_flag_values.textproto. Edit file dan tambahkan
flag_valueyang mirip dengan berikut ini:flag_value { package: "com.example.android.aconfig.demo.flags" name: "my_static_flag" state: DISABLED Permission: READ_WRITE }Dengan:
packageberisi nama paket yang sama yang digunakan dalam deklarasi.nameberisi nama yang sama yang digunakan dalam deklarasi.stateadalahENABLEDatauDISABLED.permissionadalahREAD_WRITEatauREAD_ONLY. Umumnya,permissionditetapkan keREAD_ONLYuntuk file nilai flag yang merupakan bagian dari konfigurasi rilis.
Simpan file dan keluar dari editor Anda.
Di direktori yang sama dengan file nilai flag, buat file build bernama
Android.bp. File ini digunakan untuk menyertakan file nilai flag dalam build.Di file
Android.bp, buat bagianaconfig_valuesyang mirip dengan:aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.example.android.aconfig.demo.flags-all", package: "com.example.android.aconfig.demo.flags", srcs: [ "*_flag_values.textproto", ] }Dengan:
nameadalah nama unik untuk modul build Soong. Google menggunakan konvensiaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG_NAME-package.name-all. Nama ini harus cocok dengan nama yang dibuat secara otomatis oleh soong berdasarkan deklarasiaconfig_value_setdi fileAndroid.bpdirektori induk. Perhatikan bahwaPATH_TO_RELEASE_CONFIG_DIRadalahbuild_release.packageberisi nama paket yang sama yang digunakan dalam deklarasi.srcsadalah daftar semua file nilai flag Anda.
Simpan file dan keluar dari editor Anda.
Buka direktori di atas direktori saat ini (
cd ..)Buat Android, dan jalankan kode baru Anda untuk memverifikasi bahwa kode tersebut diaktifkan sesuai setelan dalam file nilai flag.