Danilo Lato
Published on

React Native – Come generare apk

Authors

In questa breve guida vedremo come generare l’apk, eseguibile su device android, da un progetto React Native.

Per prima cosa dobbiamo assicurarci che il progetto funzioni correttamente sull’emulatore e sia privo di errori di compilazione e di errori a runtime.

1. Creare una keystore

Per generare l’apk da un progetto React Native, abbiamo bisogno innanzitutto di una chiave generata da Java, che è un file .keystore che sarà utilizzato da React Native per generare un file binario eseguibile su Android. Possiamo creare la chiave utilizzando il comando keytool nel terminale. Nello specifico, per generare la chiave possiamo lanciare il seguente comando nel terminale:

keytool -genkey -v -keystore mia_chiave.keystore -alias mia_chiave_alias -keyalg RSA -keysize 2048 -validity 10000

Possiamo dare il nome che preferiamo alla chiave e all’alias della chiave (nell’esempio indicati con: mia_chiave e mia_chiave_alias). -validity 10000 sta a indicare che la chiave che sarà generata avrà la validità di 10 000 giorni.

Una volta lanciato il comando ci verrà richiesta una password (da non dimenticare!) e una serie d'informazioni da inserire (nome, cognome, città, …). Completiamo inserendo tutti le informazioni richieste e il risultato nel terminale dovrebbe essere il seguente.

generate apk

A questo punto nella posizione in cui abbiamo lanciato il comando dovremmo vedere il file della nostra chiave (mia_chiave.keystore in questo esempio).

2.Aggiungi chiave al progetto

Come secondo passaggio dobbiamo copiare il file che abbiamo generato, nella cartella android/app del progetto React Native.

generate apk

A questo punto apriamo il file android/app/build.gradle e modifichiamo (o creiamo nel caso non esisti) l’oggetto signingConfigs con le informazioni della nostra chiave che abbiamo generato come in questo esempio:

android {
....
  signingConfigs {
    release {
      storeFile file ( 'mia_chiave.keystore' )
      storePassword "your_key_store_password"
      keyAlias "mia_chiave_alias"
      keyPassword "your_key_file_alias_password"
    }
  }
  buildTypes {
    release {
      ....
      signingConfig signingConfigs.release
    }
  }
}

3.Creare il bundle e generare apk

A questo punto possiamo creare il bundle dell’app lanciando nella cartella root del progetto react native il seguente comando:

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/

Successivamente si può procedere finalmente con la creazione dell’apk. Per fare questo ci posizioniamo con il terminale nella cartella /android del nostro progetto React Native e lanciamo il seguente comando:

./gradlew assembleRelease

A questo punto se il terminale mostra messaggio di successo (BUILD SUCCESSFUL), l’apk è stato generato correttamente e lo possiamo trovare nella cartella:

android/app/build/outputs/apk/app-release.apk

Conclusioni

In questa breve guida abbiamo visto come si genera l’apk da un progetto React Native. Un’operazione non complessa ma che se non eseguita correttamente può portare a grandi perdite di tempo.