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:
- Navigasikan ke
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
- 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. - Buka direktori baru.
- Di direktori, buat file nilai flag yang menggabungkan nama yang digunakan dalam
file deklarasi flag (
.aconfig
), sepertimy_static_flag
yang ditampilkan dalam Mendeklarasikan flag aconfig untuk Java dengan_flag_values.textproto
. Nama file yang dihasilkan adalahmy_static_flag_flag_values.textproto
. 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
adalahENABLED
atauDISABLED
.permission
adalahREAD_WRITE
atauREAD_ONLY
. Secara umum,permission
ditetapkan keREAD_ONLY
untuk file nilai tanda 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 tanda dalam build.Di file
Android.bp
, buat bagianaconfig_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 konvensiaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all
. Perhatikan bahwaPATH_TO_RELEASE_CONFIG_DIR
adalahbuild/release
.package
berisi nama paket yang sama dengan yang digunakan dalam deklarasi.srcs
adalah daftar semua file nilai tanda Anda.
Simpan file dan keluar dari editor Anda.
Buka direktori di atas direktori saat ini (
cd ..
)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.Build Android, dan jalankan kode baru Anda untuk memastikan kode tersebut diaktifkan sesuai setelan dalam file nilai flag.