Establece los valores de las marcas de lanzamiento de funciones

De forma predeterminada, todas las marcas de lanzamiento de atributos son READ_WRITE y se establecen en DISABLED. Antes de poder probar una función, debes anular el valor predeterminado que se usa en la compilación. Para ello, crea un archivo de valores de marca para la marca. En un archivo de valores de marca, configuras el estado (ENABLED o DISABLED) y el permiso (READ_WRITE o READ_ONLY) de una marca individual.

Una configuración de lanzamiento es un directorio que contiene todos los archivos de valores de marca para una compilación específica de Android (con ciertas funciones habilitadas y inhabilitadas).

AOSP se envía con algunas configuraciones de lanzamiento, como trunk_staging. Los directorios de configuración de lanzamiento se encuentran en WORKING_DIRECTORY/build/release/aconfig/.

Cuando usas el comando lunch para elegir un destino, también configuras la configuración de lanzamiento para el destino. Por ejemplo, el siguiente es un destino trunk_staging:

lunch aosp_cf_x86_64_phone-trunk_staging-userdebug

La etapa de pruebas de Trunk es una configuración de lanzamiento de desarrollo porque Google la usa para probar funciones antes del lanzamiento general. Esta configuración usa principalmente marcas READ_WRITE que te permiten probar tu código con funciones habilitadas o inhabilitadas en el tiempo de ejecución.

En la versión general, usa una configuración de lanzamiento. Una configuración de lanzamiento de versión usa principalmente marcas READ_ONLY y refleja todo el código habilitado para esa versión.

Agrega una marca a la configuración de lanzamiento de trunk_staging

Para probar una marca nueva, agrégala a la configuración de lanzamiento de trunk_staging de la siguiente manera:

  1. Navegar a WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
  2. Crea un directorio con el mismo nombre de paquete que tu marca, como com.example.android.aconfig.demo.flags que se muestra en Cómo declarar una marca de aconfig para Java.
  3. Navega al directorio nuevo.
  4. En el directorio, crea un archivo de valores de marca que combine el nombre que se usa en el archivo de declaración de marca (.aconfig), como my_static_flag que se muestra en Cómo declarar una marca de aconfig para Java con _flag_values.textproto. El nombre de archivo resultante es my_static_flag_flag_values.textproto.
  5. Edita el archivo y agrega un flag_value similar al siguiente:

    flag_value {
      package: "com.example.android.aconfig.demo.flags"
      name: "my_static_flag"
      state: DISABLED
      Permission: READ_WRITE
    }
    

    donde:

    • package contiene el mismo nombre de paquete que se usa en la declaración.
    • name contiene el mismo nombre que se usó en la declaración.
    • state es ENABLED o DISABLED.
    • permission es READ_WRITE o READ_ONLY. Por lo general, permission se establece en READ_ONLY para los archivos de valores de marca que forman parte de una configuración de lanzamiento.
  6. Guarda el archivo y sal del editor.

  7. En el mismo directorio que el archivo de valores de marca, crea un archivo de compilación llamado Android.bp. Este archivo se usa para incluir el archivo de valores de marca en la compilación.

  8. En el archivo Android.bp, crea una sección aconfig_values similar a la siguiente:

    aconfig_values {
      name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all",
      package: "com.android.aconfig.test",
      srcs: [
        "*_flag_values.textproto",
      ]
    }
    

    donde:

    • name es el nombre único del módulo de compilación de Soong. Google usa la convención de aconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all. Ten en cuenta que PATH_TO_RELEASE_CONFIG_DIR es build/release.
    • package contiene el mismo nombre de paquete que se usa en la declaración.
    • srcs es una lista de todos tus archivos de valores de marca.
  9. Guarda el archivo y sal del editor.

  10. Navega al directorio anterior al directorio actual (cd ..).

  11. Edita el archivo Android.bp. Este archivo de compilación contiene una lista de los nombres (name) asociados con cada archivo de valores de marca. Agrega a esta lista el nombre que usaste en el archivo de compilación anterior (paso 8).

  12. Compila Android y ejecuta el código nuevo para asegurarte de que esté habilitado según la configuración del archivo de valores de marca.