Secara default, semua tanda 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 (ENABLED atau DISABLED) dan izin
(READ_WRITE atau READ_ONLY) setiap flag.
Konfigurasi rilis adalah direktori yang berisi semua file nilai tanda untuk build Android tertentu (dengan fitur tertentu diaktifkan dan dinonaktifkan).
AOSP dikirimkan dengan beberapa konfigurasi rilis, seperti trunk_staging.
Direktori konfigurasi rilis dapat ditemukan di
WORKING_DIRECTORY/build/release/aconfig/.
Saat Anda menggunakan perintah lunch untuk
memilih target, Anda
juga menetapkan konfigurasi rilis untuk target.
Misalnya, berikut adalah target trunk_staging:
lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
Penahapan trunk adalah konfigurasi rilis pengembangan karena
Google menggunakannya untuk menguji fitur sebelum rilis umum. Konfigurasi ini
menggunakan
sebagian besar tanda READ_WRITE yang memungkinkan Anda menguji kode dengan fitur yang diaktifkan atau
dinonaktifkan saat runtime.
Saat rilis umum, gunakan konfigurasi rilis rilis. Konfigurasi 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 tanda Anda, seperti
com.example.android.aconfig.demo.flagsyang ditampilkan di Mendeklarasikan tanda aconfig untuk Java. - Buka direktori baru.
- Di direktori, buat file nilai tanda yang menggabungkan nama yang digunakan dalam
file deklarasi tanda (
.aconfig), sepertimy_static_flagyang ditampilkan di Mendeklarasikan tanda 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 }Dalam hal ini:
packageberisi nama paket yang sama dengan yang digunakan dalam deklarasi.nameberisi nama yang sama dengan yang digunakan dalam deklarasi.stateadalahENABLEDatauDISABLED.permissionadalahREAD_WRITEatauREAD_ONLY. Secara umum,permissiondisetel keREAD_ONLYuntuk file nilai tanda yang merupakan bagian dari konfigurasi rilis.
Simpan file dan keluar dari editor.
Di direktori yang sama dengan file nilai tanda, buat file build bernama
Android.bp. File ini digunakan untuk menyertakan file nilai tanda dalam build.Di file
Android.bp, buat bagianaconfig_valuesyang 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:
nameadalah 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_DIRadalahbuild/release.packageberisi nama paket yang sama dengan yang digunakan dalam deklarasi.srcsadalah daftar semua file nilai tanda Anda.
Simpan file dan keluar dari editor.
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.Bangun Android, dan jalankan kode baru Anda untuk memastikan kode tersebut diaktifkan sesuai setelan di file nilai tanda.