Création d’applications React Native pour Android

Important

La mise hors service de Visual Studio App Center est prévue pour le 31 mars 2025. Bien que vous puissiez continuer à utiliser Visual Studio App Center jusqu’à sa mise hors service complète, il existe plusieurs alternatives recommandées vers lesquelles vous pouvez envisager la migration.

En savoir plus sur les chronologies et les alternatives de support.

App Center peut créer des applications React Native à l’aide de React Native version 0.34 ou ultérieure.

Pour commencer à créer votre première application React Native Android, vous devez :

  1. Connectez-vous à votre compte de service de dépôt (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Sélectionnez un dépôt et une branche où réside votre application.
  3. Choisissez le projet package.json que vous souhaitez générer.
  4. Configurez votre première build.

Notes

Pour que l’application s’exécute sur un appareil réel, la build doit être signée par du code avec un certificat valide.

1. Liaison de votre dépôt

Si vous ne vous êtes pas déjà connecté à votre compte de service de dépôt, vous devez d’abord le faire. Une fois votre compte connecté, sélectionnez le dépôt où se trouve votre projet React Native. Vous devez disposer des autorisations d’administrateur et d’extraction pour configurer une build pour un dépôt.

2. Sélection d’une branche

Après avoir sélectionné un dépôt, sélectionnez la branche que vous souhaitez générer. Par défaut, App Center répertorie toutes les branches actives.

3. Configuration de votre première build

Avant votre première build, vous devez configurer le projet React Native.

3.1. Project

Sélectionnez le projet de package.jsonvotre projet. App Center extrait automatiquement les informations de son fichier build.gradle (au niveau de l’application) associé, y compris les dépendances, la version des outils de génération, les types de build et les versions de produits.

Notes

Pour de meilleures performances, l’analyse est actuellement limitée à quatre niveaux de répertoire, y compris la racine de votre dépôt.

3.2. Variante de build

Les variantes de build disponibles sont renseignées à partir des types de build et des saveurs de produit spécifiés dans le fichier build.gradle (au niveau de l’application) du projet. Sélectionnez la variante de build à générer.

Notes

App Center Build prend en charge la recherche de variantes de build en tant que combinaison d’un type de build (debug, release ou personnalisé défini) et d’une version de produit facultative. La détection de combinaisons de plusieurs saveurs de produits n’est pas prise en charge pour l’instant.

3.3. Version de Node.js

Sélectionner la version Node.js à utiliser pour la build En savoir plus sur la sélection de Node.js version

3.4. Déclencheurs de génération

Par défaut, une nouvelle build est déclenchée chaque fois qu’un développeur envoie (push) à une branche configurée. C’est ce qu’on appelle l'« intégration continue ». Si vous préférez déclencher une nouvelle build manuellement, vous pouvez modifier ce paramètre dans le volet de configuration.

3.5. Générer un ensemble d’applications Android (.aab)

L’offre groupée d’applications Android est un format de distribution qui peut être chargé sur le Play Store. Il est utilisé pour générer des API optimisées pour des appareils spécifiques. Vous pouvez en savoir plus sur l’offre groupée d’applications Android dans la documentation android officielle, ce qui vous aide également à comprendre si vous souhaitez créer un bundle avec votre standard .apk.

Activez l’option de l’offre groupée d’applications Android pour produire un .aab en plus de ..apk Si le build.gradle fichier (au niveau de l’application) contient le android.bundle bloc, cette option est automatiquement activée.

3.6. Incrémenter le numéro de version

Quand cette option est activée, le code de version dans le AndroidManifest.xml de votre application s’incrémente automatiquement pour chaque build. La modification se produit pendant la build réelle et ne sera pas validée dans votre dépôt.

3.7. Lancer votre build réussie sur un appareil réel

Utilisez le fichier APK nouvellement produit pour tester si votre application démarre sur un appareil réel. Les tests de lancement ajouteront environ 10 minutes de plus au temps de génération total. En savoir plus sur la configuration des tests de lancement.

3.8. Signature de code

Une génération réussie génère un .apk fichier et un fichier supplémentaire .aab si cette option est activée. Pour libérer la build sur le Play Store, elle doit être signée avec un certificat valide stocké dans un magasin de clés. Pour signer les builds produites à partir d’une branche, activez la signature du code dans le volet de configuration, chargez votre magasin de clés dans votre dépôt et fournissez les valeurs appropriées dans le volet de configuration. Vous pouvez en savoir plus sur la documentation de signature de code Android d’App Center. le .aab sera signé à l’aide des mêmes informations d’identification que ..apk

3.9. Distribuer la build

Vous pouvez configurer chaque build réussie à partir d’une branche pour qu’elle soit distribuée à un groupe de distribution créé précédemment ou à une destination de magasin. Vous pouvez ajouter un nouveau groupe de distribution ou configurer une connexion au magasin à partir du service Distribution. Il existe toujours un groupe de distribution par défaut appelé « Collaborateurs » qui inclut tous les utilisateurs qui ont accès à l’application.

Notes

En cas de distribution dans le Google Play Store, un ensemble d’applications Android (.aab) est préféré et sera distribué s’il est activé. Pour les groupes de distribution App Center et les destinations de Intune store, un standard .apk est utilisé même si un .aab est également généré.

4. Résultats de génération

Après un déclencheur de build, la build se trouve dans l’un des états suivants :

  • en file d’attente : la build se trouve dans une file d’attente en attente de libération des ressources
  • building : la build exécute les tâches prédéfinies
  • succeeded : la build est terminée et elle a réussi
  • failed : la build est terminée, mais elle a échoué ; vous pouvez résoudre les problèmes en téléchargeant et en inspectant le journal de build
  • canceled : la build a été annulée par une action de l’utilisateur ou a expiré

4.1. Journaux d’activité de génération

Pour une build terminée (réussie ou ayant échoué), téléchargez les journaux pour en savoir plus sur la façon dont la build s’est déroulée. App Center fournit une archive avec les fichiers suivants :

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Les journaux spécifiques à l’étape de génération (situés dans le build/ répertoire de l’archive) sont utiles pour résoudre les problèmes et comprendre quelle étape et pourquoi la build a échoué.

4.2. L’application (.apk)

Le .apk fichier est un fichier empaqueté d’application Android qui stocke l’application Android. Si la build a été correctement signée, l’application peut être installée sur un appareil réel et déployée sur le Play Store. Si la build n’a pas été signée, l’application peut s’exécuter sur un émulateur ou être utilisée à d’autres fins.

5. Versions et exigences prises en charge

La version minimale prise en charge pour créer des applications Android est 5.0 (niveau d’API 21). Les applications Android peuvent avoir un niveau d’API minimal inférieur requis pour s’exécuter, mais doivent cibler au moins le niveau d’API 21.

6. Conseils de génération

6.1. Yarn

Le gestionnaire de package Yarn est un remplacement plus rapide et plus déterministe pour npm. Si un yarn.lock fichier est présent dans votre dépôt en regard de package.json, App Center utilise Yarn, en procédant yarn install au début de la build. Dans le cas contraire, il effectuera npm install.

6.2. Scripts de build personnalisés

Il existe plusieurs options pour exécuter des scripts avant l’exécution des commandes de build par défaut d’App Center.

  • Créez un script de post-installation dans le fichier de package.json votre projet. Ce script s’exécute automatiquement une fois vos dépendances installées.

      "scripts": {
        ...
        "postinstall" : "npx jetify" // other examples: "node ./postinstall.js" or "./postinstall.sh"
      },
    
  • Écrivez un script shell à l’aide de la fonctionnalité de scripts de génération personnalisés d’App Center.

    #!/usr/bin/env bash
    
    # Example: Authenticate with private NPM registry
    echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
    
    # Example: Add your signing key file (from base64 encoded environment variable)
    base64 -d <<< "$ANDROID_JSON_KEY_FILE" > android/keystores/json_key_file.json
    

6.3. Création de plusieurs API

Pour React Native sur Android, la génération d’APK universelle est désactivée par défaut. Si la configuration de votre application est configurée pour générer plusieurs API, par exemple différentes par architecture de processeur ou configuration d’écran, vous devez vous assurer qu’un APK universel est également généré. Le système de génération d’App Center fonctionne avec un main fichier APK et ignore toutes les API spécifiques à une certaine densité de processeur/ABI ou d’écran.

Pour en savoir plus sur les fractionnements d’APK et sur la création d’un APK universel, lisez le guide du développeur Android correspondant. Par conséquent, assurez-vous que universalApk est défini sur true pour votre configuration de build React Native.