Varsayılan olarak tüm özellik lansmanı işaretleri READ_WRITE
ve DISABLED
olarak ayarlanır.
Bir özelliği test edebilmeniz için, derlemede kullanılan varsayılan değeri, işaret için işaret değerleri dosyası oluşturarak geçersiz kılmanız gerekir. Bir işaret değerleri dosyasında,
tek bir işaretin durumunu (ENABLED
veya DISABLED
) ve iznini
(READ_WRITE
veya READ_ONLY
) ayarlarsınız.
Yayın yapılandırması, Android'in belirli bir sürümü için tüm işaret değerleri dosyalarını (belirli özellikler etkin ve devre dışı bırakılmış olarak) içeren bir dizindir.
AOSP, trunk_staging
gibi birkaç yayın yapılandırmasıyla birlikte gönderilir.
Yayın yapılandırma dizinleri WORKING_DIRECTORY/build/release/aconfig/
altında bulunur.
lunch
komutunu kullanarak hedef seçtiğinizde, hedef için yayın yapılandırmasını da ayarlarsınız.
Örneğin, aşağıdakiler trunk_staging
hedefidir:
lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
Google, özellikleri genel kullanıma sunmadan önce test etmek için kullandığından ana dalda hazırlama, geliştirme sürümü yapılandırmasıdır. Bu yapılandırmada, kodunuzu çalışma zamanında etkinleştirilmiş veya devre dışı bırakılmış özelliklerle test etmenize olanak tanıyan READ_WRITE
işaretleri kullanılır.
Genel kullanıma sunulduğunda yayın sürümü yapılandırması kullanın. Yayın yapılandırması, çoğunlukla READ_ONLY
işaretlerini kullanır ve bu yayın için etkinleştirilen tüm kodları yansıtır.
trunk_staging yayın yapılandırmasına işaret ekleme
Yeni bir işareti test etmek için trunk_staging
yayın yapılandırmasına aşağıdaki şekilde ekleyin:
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
konumuna git- Bayrağınızla aynı paket adına sahip bir dizin oluşturun. Örneğin,
com.example.android.aconfig.demo.flags
, Java için aconfig bayrağı bildirme bölümünde gösterildiği gibi. - Yeni dizine gidin.
- Dizinde, işaret bildiriminde (
.aconfig
) kullanılan adı birleştiren bir işaret değerleri dosyası oluşturun. Örneğin,_flag_values.textproto
ile birlikte Java için aconfig işareti bildirme bölümünde gösterilenmy_static_flag
. Elde edilen dosya adımy_static_flag_flag_values.textproto
olur. Dosyayı düzenleyerek 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
, beyanda kullanılan paket adını içeriyor.name
, beyanda kullanılan adla aynı adı içeriyor.state
,ENABLED
veyaDISABLED
'dir.permission
,READ_WRITE
veyaREAD_ONLY
'dir. Genellikle, yayın yapılandırmasının parçası olan işaret değerleri dosyaları içinpermission
,READ_ONLY
olarak ayarlanır.
Dosyayı kaydedin ve düzenleyicinizden çıkın.
İş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.Android.bp
dosyasında, aşağıdakine benzer biraconfig_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ğerininbuild/release
olduğunu unutmayın.package
, beyanda kullanılan paket adını içeriyor.srcs
, tüm işaret değerleri dosyalarınızın listesidir.
Dosyayı kaydedin ve düzenleyicinizden çıkın.
Geçerli dizinin üstündeki dizine git (
cd ..
)Android.bp
dosyasını düzenleyin. Bu derleme dosyası, her işaret değerleri dosyasıyla ilişkili adların listesini içerir (name
). Önceki derleme dosyasında (8. adım) kullandığınız adı bu listeye ekleyin.Android'i oluşturun ve yeni kodunuzun, işaret değerleri dosyasındaki ayara göre etkinleştirildiğinden emin olmak için kodu çalıştırın.