기본적으로 모든 기능 출시 플래그는 READ_WRITE
이며 DISABLED
로 설정됩니다.
기능을 테스트하려면 먼저 플래그의 플래그 값 파일을 만들어 빌드에 사용되는 기본값을 재정의해야 합니다. 플래그 값 파일에서 개별 플래그의 상태 (ENABLED
또는 DISABLED
)와 권한(READ_WRITE
또는 READ_ONLY
)을 설정합니다.
출시 구성은 특정 Android 빌드의 모든 플래그 값 파일 (특정 기능 사용 설정 및 사용 중지됨)이 포함된 디렉터리입니다.
AOSP는 trunk_staging
와 같은 몇 가지 출시 구성과 함께 제공됩니다.
출시 구성 디렉터리는 WORKING_DIRECTORY/build/release/aconfig/
에 있습니다.
lunch
명령어를 사용하여 타겟을 선택하면 타겟의 출시 구성도 설정됩니다.
예를 들어 다음은 trunk_staging
타겟입니다.
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
트렁크 스테이징은 Google에서 정식 출시 전에 기능을 테스트하는 데 사용하기 때문에 개발 출시 구성입니다. 이 구성은 주로 READ_WRITE
플래그를 사용하여 런타임에 기능을 사용 설정하거나 사용 중지하여 코드를 테스트할 수 있습니다.
정식 출시에서는 출시 출시 구성을 사용합니다. 출시 버전 구성은 대부분 READ_ONLY
플래그를 사용하며 해당 출시에 사용 설정된 모든 코드를 반영합니다.
trunk_staging 출시 구성에 플래그 추가
새 플래그를 테스트하려면 다음과 같이 trunk_staging
출시 구성에 추가합니다.
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
까지 경로 안내- 플래그와 동일한 패키지 이름(예: Java용 aconfig 플래그 선언에 표시된
com.example.android.aconfig.demo.flags
)으로 디렉터리를 만듭니다. - 새 디렉터리로 이동합니다.
- 디렉터리에서 플래그 선언(
.aconfig
) 파일에 사용된 이름(예: Java용 aconfig 플래그 선언에 표시된my_static_flag
)과_flag_values.textproto
을 결합한 플래그 값 파일을 만듭니다. 결과 파일 이름은my_static_flag_flag_values.textproto
입니다. 파일을 수정하고 다음과 유사한
flag_value
를 추가합니다.flag_value { package: "com.example.android.aconfig.demo.flags" name: "my_static_flag" state: DISABLED Permission: READ_WRITE }
각각의 의미는 다음과 같습니다.
package
에는 선언에 사용된 것과 동일한 패키지 이름이 포함됩니다.name
에는 선언에 사용된 것과 동일한 이름이 포함됩니다.state
은ENABLED
또는DISABLED
입니다.permission
은READ_WRITE
또는READ_ONLY
입니다. 일반적으로 출시 구성의 일부인 플래그 값 파일의 경우permission
가READ_ONLY
로 설정됩니다.
파일을 저장하고 편집기를 종료합니다.
플래그 값 파일과 동일한 디렉터리에서
Android.bp
라는 빌드 파일을 만듭니다. 이 파일은 빌드에 플래그 값 파일을 포함하는 데 사용됩니다.Android.bp
파일에서 다음과 유사한aconfig_values
섹션을 만듭니다.aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all", package: "com.android.aconfig.test", srcs: [ "*_flag_values.textproto", ] }
각각의 의미는 다음과 같습니다.
name
은 Soong 빌드 모듈의 고유한 이름입니다. Google은aconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all
규칙을 사용합니다.PATH_TO_RELEASE_CONFIG_DIR
은build/release
입니다.package
에는 선언에 사용된 것과 동일한 패키지 이름이 포함됩니다.srcs
는 모든 플래그 값 파일의 목록입니다.
파일을 저장하고 편집기를 종료합니다.
현재 디렉터리 위의 디렉터리 (
cd ..
)로 이동합니다.Android.bp
파일을 수정합니다. 이 빌드 파일에는 각 플래그 값 파일과 연결된 이름(name
) 목록이 포함되어 있습니다. 이전 빌드 파일 (8단계)에서 사용한 이름을 이 목록에 추가합니다.Android를 빌드하고 새 코드를 실행하여 플래그 값 파일의 설정에 따라 사용 설정되었는지 확인합니다.