APK application React native

Comment générer un APK d’une application React Native ?

Partagez sur:

Les développeurs de React Native sont souvent dans la situation de publier leurs applications ReactNative sur le Google Play Store afin que les utilisateurs d’Android puissent les télécharger. Dans ce didacticiel, nous allons apprendre à générer un fichier APK React Native  pour Android, à l’aide de React Native CLI et d’Android Studio.

Il existe deux façons de générer un APK pour la production pour Android, nous présentons ici la manière React Native CLI.

Utilisation de React Native CLI

Tout d’abord, assurez-vous que votre projet Android est exempt d’erreurs. Cela signifie qu’il se compile et s’exécute correctement sur l’émulateur ou sur un appareil Android. Ainsi, ouvrez le projet Android à l’aide d’Android Studio ou exécutez-le à partir de la ligne de commande. Si tout se compile comme prévu, vous êtes prêt à partir.

Étape 1. Génération du fichier de stockage de clés (keystore)

Vous aurez besoin d’une clé de signature générée par Java qui est un fichier de clés utilisé pour générer un binaire exécutable React Native pour Android. Vous pouvez en créer un à l’aide de l’outil clé dans le terminal avec la commande suivante :

keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000

Une fois que vous avez exécuté l’utilitaire keytool, vous serez invité à saisir un mot de passe. Assurez-vous de vous souvenir du mot de passe:

Vous pouvez modifier your_key_name.keystore avec le nom de votre choix, ainsi que your_key_name_alias. Cette clé utilise la taille de clé 2048, au lieu de 1024 par défaut pour des raisons de sécurité.

Ainsi, cette commande vous invite à entrer le mot de passe pour le fichier keystore, la clé réelle et les champs de nom unique pour votre clé. Par conséquent, tout doit être entré manuellement et soigneusement.

Entrez votre mot de passe pour le dépôt de clés: password123

Entrez à nouveau le nouveau mot de passe: password123

Quel est ton prénom et ton nom? [inconnu]: Dani Williams

Quel est le nom de votre unité organisationnelle? [inconnu]: Sample Company

Quel est le nom de votre organisation? [inconnu]: échantillon

Quel est le nom de votre ville ou localité? [inconnu]: XYZ

Quel est le nom de votre état ou province? [inconnu]: ABC

Quel est le code de pays à deux lettres pour cet appareil? [inconnu]: XX

La sortie de votre terminal ressemblera à ceci:

Appuyez sur Entrée lorsque vous êtes invité à entrer le mot de passe pour <my-key-alias>. Remarque: Si vous avez besoin d’un nouveau mot de passe de clé, saisissez-le.

 

LIRE AUSSI: Comment installer React Native sur Ubuntu

Par conséquent, il génère un fichier de stockage de clés dans le répertoire de votre projet nommé my-release-key.keystore valide pendant 10000 jours. Plus important encore, sauvegardez ce fichier de clés et ses informations d’identification (mot de passe de stockage, alias et mot de passe d’alias) qui seront nécessaires ultérieurement.

Étape 2. Ajout du fichier de stockage de clés (Keystore) dans votre projet

Tout d’abord, vous devez copier le fichier your_key_name.keystore et le coller dans le répertoire android/app du dossier de votre projet React Native.

Vous pouvez aussi le faire dans le terminal en tapant la commande suivante :

mv my-release-key.keystore /android/app

 

Vous devez ouvrir le fichier android/app/build.gradle et ajouter la configuration du fichier de stockage de clés. Il existe deux façons de configurer le fichier de clés dans projet. Tout d’abord, la manière courante et non sécurisée:

android {

....

  signingConfigs {

   release {

   storeFile file('your_key_name.keystore')

   storePassword 'your_key_store_password'

   keyAlias 'your_key_alias'

   keyPassword 'your_key_file_alias_password'

 }

 }

  buildTypes {

    release {

    ....

      signingConfig signingConfigs.release

    }

 }

}

 

Ce n’est pas une bonne pratique de sécurité car vous stockez le mot de passe en texte brut. Au lieu de stocker votre fichier de clés dans un fichier .gradle, vous pouvez stipuler le processus de génération pour vous demander ces mots de passe si vous créez à partir de la ligne de commande.

Pour demander un mot de passe avec le fichier de construction Gradle, changez la configuration ci-dessus comme:

 

signingConfigs {

  release {

    storeFile file('your_key_name.keystore')

    storePassword System.console().readLine("\nKeystore password:")

    keyAlias System.console().readLine("\nAlias: ")

    keyPassword System.console().readLine("\nAlias password: ")

  }

}

 

 

Par conséquent, vous devez vous assurer que le bloc signatureConfigs apparaît avant le bloc buildTypes pour éviter les erreurs inutiles. De plus, avant d’aller plus loin, assurez-vous d’avoir un dossier d’actifs sous android/app/src/main/assets. S’il n’y en a pas, créez-en un. Exécutez ensuite la commande suivante pour créer le bundle.

 

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle

--assets-dest android/app/src/main/res/

 

 

Remarque: Si vous avez un nom de fichier d’entrée différent, comme index.android.js, changez-le dans la commande.

Étape 3. Génération de l’APK

Placez-vous dans le répertoire android via le terminal en utilisant:

cd android

 

Exécutez ensuite la commande suivante, si vous etes sous windows :

gradlew assembleRelease

 

Pour Linux et Mac OSX:

./gradlew assembleRelease

 

Une fois que le processus de création de l’APK est terminé, Vous pouvez trouver l’APK généré dans le dossier android/app/build/outputs/apk/app-release.apk. Il s’agit de l’application réelle que vous pouvez envoyer à votre téléphone ou soumettre sur Google Play Store. Félicitations, vous venez de générer un fichier APK React Native pour Android.

Des erreurs fréquentes apparaissent parfois dans ce processus, ce qui est typique d’une application React Native, étant donné que React Native évolue en permanence. Nous présentons ici les erreurs de build React Native les plus fréquentes qu’on peut rencontrer, pour vous faire gagner du temps et éviter des maux de tête.

Si votre build échoue avec l’erreur suivante:

:app:processReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ‘:app:processReleaseResources’.

> com.android.ide.common.process.ProcessException: Failed to execute aapt

 

Vous pouvez toujours résoudre cette erreur de build Android React Native en exécutant:

cd ..

rm -rf android/app/src/main/res/drawable-*

react-native bundle --platform android --dev false \

--entry-file index.js \

--bundle-output android/app/src/main/assets/index.android.bundle \

--assets-dest android/app/build/intermediates/res/merged/release/

cd android && ./gradlew assembleRelease



Il s’agit des étapes à suivre pour générer un APK signé dans React Native pour les applications Android, qui peut être publié sur la console Google Play.

 

Lire aussi: Comment installer Odoo 12 sur Ubuntu 18.04

 

 


Partagez sur: