Définir les valeurs des indicateurs de lancement de la fonctionnalité

Par défaut, tous les indicateurs de lancement de fonctionnalités sont READ_WRITE et définis sur DISABLED. Avant de pouvoir tester une fonctionnalité, vous devez remplacer la valeur par défaut utilisée dans la compilation en créant un fichier de valeurs d'indicateur pour l'indicateur. Dans un fichier de valeurs d'indicateur, vous définissez l'état (ENABLED ou DISABLED) et l'autorisation (READ_WRITE ou READ_ONLY) d'un indicateur individuel.

Une configuration de version est un répertoire qui contient tous les fichiers de valeurs d'indicateurs pour une version spécifique d'Android (avec certaines fonctionnalités activées et désactivées).

AOSP est fourni avec quelques configurations de version, telles que trunk_staging. Les répertoires de configuration de version se trouvent sous WORKING_DIRECTORY/build/release/aconfig/.

Lorsque vous utilisez la commande lunch pour choisir une cible, vous définissez également la configuration de publication pour la cible. Par exemple, la cible trunk_staging suivante:

lunch aosp_cf_x86_64_phone-trunk_staging-userdebug

Le pré-déploiement du trunk est une configuration de version de développement, car Google l'utilise pour tester les fonctionnalités avant leur publication générale. Cette configuration utilise principalement des indicateurs READ_WRITE qui vous permettent de tester votre code avec des fonctionnalités activées ou désactivées au moment de l'exécution.

Pour la version générale, utilisez une configuration de version. Une configuration de version utilise principalement des indicateurs READ_ONLY et reflète tout le code activé pour cette version.

Ajouter un indicateur à la configuration de la version trunk_staging

Pour tester un nouveau flag, ajoutez-le à la configuration de version trunk_staging comme suit:

  1. Itinéraire vers WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
  2. Créez un répertoire portant le même nom de package que votre indicateur, comme com.example.android.aconfig.demo.flags indiqué dans la section Déclarer un indicateur aconfig pour Java.
  3. Accédez au nouveau répertoire.
  4. Dans le répertoire, créez un fichier de valeurs d'indicateur qui combine le nom utilisé dans le fichier de déclaration d'indicateur (.aconfig), tel que my_static_flag illustré dans Déclarer un indicateur aconfig pour Java avec _flag_values.textproto. Le nom de fichier obtenu est my_static_flag_flag_values.textproto.
  5. Modifiez le fichier et ajoutez un flag_value semblable à celui-ci:

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

    Où :

    • package contient le même nom de package que celui utilisé dans la déclaration.
    • name contient le même nom que celui utilisé dans la déclaration.
    • state correspond à ENABLED ou DISABLED.
    • permission correspond à READ_WRITE ou READ_ONLY. En règle générale, permission est défini sur READ_ONLY pour les fichiers de valeurs d'indicateurs qui font partie d'une configuration de version.
  6. Enregistrez le fichier et quittez votre éditeur.

  7. Dans le même répertoire que le fichier de valeurs d'indicateur, créez un fichier de compilation appelé Android.bp. Ce fichier permet d'inclure le fichier de valeurs d'indicateur dans la compilation.

  8. Dans le fichier Android.bp, créez une section aconfig_values semblable à celle-ci:

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

    Où :

    • name est le nom unique du module de compilation Soong. Google utilise la convention aconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all. Notez que PATH_TO_RELEASE_CONFIG_DIR est build/release.
    • package contient le même nom de package que celui utilisé dans la déclaration.
    • srcs est une liste de tous vos fichiers de valeurs d'indicateur.
  9. Enregistrez le fichier et quittez votre éditeur.

  10. Accédez au répertoire situé au-dessus du répertoire actuel (cd ..).

  11. Modifiez le fichier Android.bp. Ce fichier de compilation contient une liste des noms (name) associés à chaque fichier de valeurs d'indicateur. Ajoutez le nom que vous avez utilisé dans le fichier de compilation précédent (étape 8) à cette liste.

  12. Compilez Android et exécutez votre nouveau code pour vous assurer qu'il est activé conformément au paramètre défini dans le fichier de valeurs d'indicateur.