react-native est une librairie qui permet de créer une application mobile Android et IOS native grâce à un seul code compréhensible par tout développeur qui fait du javascript ou mieux react.
Nous allons détailler dans la suite de cet article les différentes étapes pour créer une application react-native avec Android sur du Ubuntu 20.04.
Prérequis
Avant d’aller plus loin, il est important de connaître les outils requis, et de s’assurer que ces outils sont bien installés :
- Node (v12 minimum)
- JDK et Android Studio (si on veut créer une application android)
Android Studio
Pour installer Android Studio avec Ubuntu,
- Il faut télécharger la version correspondante à Linux (un fichier .tar.gz de 900Mb) sur https://developer.android.com/studio#downloads
- Extraire le fichier dans son dossier puis déplacer le dossier extrait dans /usr/local
tar -xzf android-studio-2021.1.1.22-linux.tar.gz
sudo mv android-studio /usr/local/
Lancer ensuite android studio:
/usr/local/android-studio/bin/studio.sh
La fenêtre d’installation de Android Studio se lance.
Variables d’environnement
Quelques variables d’environnements utiles à Android doivent être ajoutées :
export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
Il y a deux façons de les ajouter:
- Dans un terminal, lancer les commandes ci-dessus une par une (assez fastidieux)
- Ajouter ces lignes dans le fichier ~/.bash_aliases (c’est ce qu’on va faire)
On édite alors le fichier
nano ~/.bash_aliases
On ajoute les lignes ci-dessus et on enregistre.
Et on lance
source ~/.bashrc
JDK
Il faut s’assurer également que Java/JDK est installé. Pour détecter l’installation correcte, ouvrir un terminal et taper ceci
javac --version
Ce qui devrait retourner
javac 11.0.13
En revanche, si le retour de la commande ressemble à ceci
Il faut installer java avec :
sudo apt install default-jdk -y
Création de l’application
Dans un dossier, on crée une application grâce à npx
cd /home/web/
npx react-native init mobile
npx: est un package nodejs – disponible depuis la version de 5.2 de npm (juillet 2017). Il permet de faire plusieurs choses.
Dans la commande précédente, npx va à la fois installer react-native et initialiser notre projet dans le dossier mobile.
Ce dossier mobile doit être au format alphanumérique, au risque de se prendre l’erreur suivante si on a comme nom de dossier « mobile-folder » par exemple
error "mobile-folder" is not a valid name for a project. Please use a valid identifier name (alphanumeric).
De plus, ce dossier mobile ne doit pas exister, au risque de se prendre l’erreur suivante:
error Cannot initialize new project because directory "mobile" already exists.
Retour de la commande
###### ######
### #### #### ###
## ### ### ##
## #### ##
## #### ##
## ## ## ##
## ### ### ##
## ######################## ##
###### ### ### ######
### ## ## ## ## ###
### ## ### #### ### ## ###
## #### ######## #### ##
## ### ########## ### ##
## #### ######## #### ##
### ## ### #### ### ## ###
### ## ## ## ## ###
###### ### ### ######
## ######################## ##
## ### ### ##
## ## ## ##
## #### ##
## #### ##
## ### ### ##
### #### #### ###
###### ######
Welcome to React Native!
Learn once, write anywhere
✔ Downloading template
✔ Copying template
✔ Processing template
✔ Installing dependencies
Run instructions for iOS:
• cd "/home/web/mobile" && npx react-native run-ios
- or -
• Open mobile/ios/mobile.xcodeproj in Xcode or run "xed -b ios"
• Hit the Run button
Run instructions for Android:
• Have an Android emulator running (quickest way to get started), or a device connected.
• cd "/home/web/mobile" && npx react-native run-android
Run instructions for Windows and macOS:
• See https://aka.ms/ReactNative for the latest up-to-date instructions.
Deploiement sur téléphone/Genymotion
Avant d’installer l’application, il est nécessaire de démarrer react-native grâce à la commande suivante :
npx react-native start
Voici le retour de cette commande:
Telephone
Pour installer l’application sur notre téléphone ANDROID qu’on a branché sur une prise USB de notre PC, on s’assure d’avoir activé le mode développeur sur notre téléphone. Il faut se référer au modèle du téléphone pour activer ce mode développeur car ce n’est pas toujours la même manipulation selon le modèle.
Il faut ensuite ouvrir un autre terminal – se placer dans le dossier de l’application et lancer la commande suivante:
npx react-native run-android
Quelque soit le device (genymotion ou telephone), on a bien l’affichage suivant:
qui confirme que notre application est bien fonctionnelle.
Déploiement sur Anbox
Anbox (Android in a Box) est un logiciel linux qui permet de faire tourner une application Android à partir de son apk (android package kit).
Dans un premier temps, il faut installer Anbox. Cela se fait grâce aux commandes suivantes:
sudo snap install --beta --devmode anbox
Ensuite, il faut lancer une session
anbox session-manager
Et à partir de la, chercher Anbox dans la liste des logiciels et le lancer.
Pour pouvoir lancer l’application react-native que nous venons de créer, il faut créer d’abord son fichier apk correspondant. Cela se fait grâce aux commandes suivantes depuis l’application.
cd android
./gradlew assembleRelease
Le fichier apk sera ensuite disponible dans le dossier android/app/build/outputs/apk/release. Il faut aller dans ce dossier et installer le apk dans Anbox.
adb -d install android/app/build/outputs/apk/release/app-release.apk
Ce qui devrait donner