Compilazione di app React Native per Android
Importante
Visual Studio App Center è pianificato per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate a cui è possibile considerare la migrazione.
Altre informazioni sulle sequenze temporali e sulle alternative di supporto.
App Center può creare app React Native usando React Native versione 0.34 o successiva.
Per iniziare a creare la prima app React Native Android, è necessario:
- Connettersi all'account del servizio repository (GitHub, Bitbucket, VSTS, Azure DevOps).
- Selezionare un repository e un ramo in cui si trova l'app.
- Scegliere il progetto
package.json
che si vuole compilare. - Configurare la prima compilazione.
Nota
Affinché l'app venga eseguita in un dispositivo reale, la compilazione deve essere firmata con un certificato valido.
1. Collegamento del repository
Se in precedenza non si è connessi all'account del servizio repository, è prima necessario eseguire questa operazione. Dopo aver connesso l'account, selezionare il repository in cui si trova il progetto React Native. Per configurare una compilazione per un repository, è necessario disporre delle autorizzazioni di amministratore e pull.
2. Selezione di un ramo
Dopo aver selezionato un repository, selezionare il ramo da compilare. Per impostazione predefinita, App Center elenca tutti i rami attivi.
3. Configurazione della prima compilazione
Prima della prima compilazione, è necessario configurare il progetto React Native.
3.1. Project
Selezionare l'oggetto del package.json
progetto. App Center estrae automaticamente informazioni dal file build.gradle (a livello di app), incluse le dipendenze, la versione degli strumenti di compilazione, i tipi di compilazione e le versioni dei prodotti.
Nota
Per ottenere prestazioni ottimali, l'analisi è attualmente limitata a quattro livelli di directory, inclusa la radice del repository.
3.2. Variante di compilazione
Le varianti di compilazione disponibili verranno popolate dal file build Types and Product Flavor specificato nel file build.gradle (livello app) del progetto. Selezionare la variante di compilazione da compilare.
Nota
La compilazione di App Center supporta la ricerca di varianti di compilazione come combinazione di un tipo di compilazione (debug, versione o personalizzata definita) e di un modello Product Flavor facoltativo. Il rilevamento di combinazioni di più versioni di prodotto non è attualmente supportato.
3.3. Versione di Node.js
Selezionare la versione Node.js da usare per la compilazione Altre informazioni su come selezionare Node.js versione
3.4. Trigger di compilazione
Per impostazione predefinita, viene attivata una nuova compilazione ogni volta che uno sviluppatore esegue il push in un ramo configurato. Questa operazione viene definita "Integrazione continua". Se si preferisce attivare manualmente una nuova compilazione, è possibile modificare questa impostazione nel riquadro di configurazione.
3.5. Compilare il bundle di app Android (.aab)
Il bundle di app Android è un formato di distribuzione che può essere caricato in Play Store. Viene usato per generare API ottimizzate per dispositivi specifici. Per altre informazioni sul bundle di app Android, vedere la documentazione ufficiale di Android, che ti aiuta anche a capire se vuoi creare un bundle insieme al tuo normale .apk.
Attivare o disattivare l'opzione per Il bundle di app Android per produrre un oggetto .aab
oltre a .apk
. Se il build.gradle
file (a livello di app) contiene il android.bundle
blocco, questa opzione verrà attivata automaticamente.
3.6. Numero di versione incremento
Se abilitata, il codice della versione nella AndroidManifest.xml dell'app aumenta automaticamente per ogni compilazione. La modifica si verifica durante la compilazione effettiva e non verrà eseguito il commit nel repository.
3.7. Avviare la compilazione corretta in un dispositivo reale
Usare il file APK appena prodotto per verificare se l'app viene avviata in un dispositivo reale. I test di avvio aggiungeranno circa 10 minuti al tempo di compilazione totale. Altre informazioni su come configurare i test di avvio.
3.8. Firma del codice
Una compilazione con esito positivo produrrà un .apk
file e un file aggiuntivo .aab
, se abilitato. Per rilasciare la build nel Play Store, deve essere firmata con un certificato valido archiviato in un archivio chiavi. Per firmare le compilazioni generate da un ramo, abilitare la firma del codice nel riquadro di configurazione, caricare l'archivio chiavi nel repository e fornire i valori pertinenti nel riquadro di configurazione. Per altre informazioni sulla firma del codice Android, vedere la documentazione sulla firma del codice Android di App Center. L'oggetto .aab
verrà firmato usando le stesse credenziali di .apk
.
3.9. Distribuire la compilazione
È possibile configurare ogni compilazione corretta da un ramo per essere distribuita a un gruppo di distribuzione creato in precedenza o a una destinazione dell'archivio. È possibile aggiungere un nuovo gruppo di distribuzione o configurare una connessione all'archivio dall'interno del servizio Distribuisci. Esiste sempre un gruppo di distribuzione predefinito denominato "Collaboratori" che include tutti gli utenti che hanno accesso all'app.
Nota
Se si distribuisce in Google Play Store, si preferisce un bundle di app Android (.aab
) e verrà distribuito se abilitato. Per i gruppi di distribuzione di App Center e le destinazioni dello Store di Intune, verrà usato regolarmente .apk
anche se viene generato anche un oggetto .aab
.
4. Risultati della compilazione
Dopo i trigger di compilazione, la compilazione sarà in uno degli stati seguenti:
- queued : la compilazione si trova in una coda in attesa che le risorse vengano liberate
- compilazione : la compilazione esegue le attività predefinite
- completato: la compilazione è stata completata e ha avuto esito positivo
- non riuscito : la compilazione è stata completata ma non è riuscita. È possibile risolvere il problema scaricando ed esaminando il log di compilazione
- annullato: la compilazione è stata annullata da un'azione dell'utente o è scaduta
4.1. Log di compilazione
Per una compilazione completata (riuscita o non riuscita), scaricare i log per comprendere meglio come è andata la compilazione. App Center fornisce un archivio con i file seguenti:
|-- 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)
I log specifici della compilazione (che si trovano nella build/
directory dell'archivio) sono utili per la risoluzione dei problemi e la comprensione del passaggio e del motivo per cui la compilazione non è riuscita.
4.2. L'app (.apk)
Il .apk
file è un file in pacchetto dell'applicazione Android che archivia l'app Android. Se la compilazione è stata firmata correttamente, l'app può essere installata in un dispositivo reale e distribuita in Play Store. Se la compilazione non è stata firmata, l'app può essere eseguita in un emulatore o essere usata per altri scopi.
5. Versioni e requisiti supportati
La versione minima supportata per compilare app Android è 5.0 (livello API 21). Le app Android possono avere un livello api minimo inferiore necessario per l'esecuzione, ma deve avere come destinazione almeno il livello API 21.
6. Suggerimenti per la compilazione
6.1. Yarn
La gestione pacchetti Yarn è una sostituzione più veloce e deterministica per npm
. Se un yarn.lock
file è presente nel repository accanto a package.json
, App Center userà Yarn, eseguendo yarn install
all'inizio della compilazione. In caso contrario, eseguirà npm install
.
6.2. Script di compilazione personalizzati
Sono disponibili diverse opzioni per l'esecuzione di script prima dell'esecuzione dei comandi di compilazione predefiniti di App Center.
Creare uno script di postinstallazione nel file del
package.json
progetto. Questo script verrà eseguito automaticamente dopo l'installazione delle dipendenze."scripts": { ... "postinstall" : "npx jetify" // other examples: "node ./postinstall.js" or "./postinstall.sh" },
Scrivere uno script della shell usando la funzionalità degli script di compilazione personalizzati di 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. Compilazione di più API
Per React Native in Android, la generazione dell'APK universale è disabilitata per impostazione predefinita. Se la configurazione dell'app è configurata per compilare più API, ad esempio diverse per ogni architettura della CPU o configurazione dello schermo, è necessario assicurarsi che sia compilato anche un APK universale. Il sistema di compilazione di App Center funziona con un file APK principale e ignorerà tutti gli API specifici di una determinata densità di CPU/ABI o schermo.
Per altre informazioni sulle divisioni APK e su come creare un APK universale, leggere la guida per sviluppatori Android corrispondente. Di conseguenza, assicurarsi che universalApk
sia impostato su true
per la configurazione di compilazione React Native.