Compilazione di app Java 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.

Per compilare la prima app Android, seguire questa procedura:

  1. Connettersi all'account del servizio repository (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Selezionare un repository e un ramo in cui si trova l'app.
  3. Scegliere il progetto Android da compilare.
  4. Configurare la prima compilazione.

Nota

Affinché l'app venga eseguita in un dispositivo reale, la compilazione deve essere firmata con un certificato valido.

Nota

App Center tiene traccia del progetto cercando i file di directory gradle (e gradlew) del progetto Android. Non includere questi file nel progetto .gitignore perché la compilazione di App Center non sarà in grado di trovarli.

Avviso

A causa dell'arresto recente di JCenter, alcune app potrebbero riscontrare errori di attività Gradle durante la compilazione con App Center. Visualizzare la guida alla migrazione fornita da Gradle. Come soluzione alternativa, tutte le istanze di jcenter() possono essere rimosse dal build.gradle file e sostituite con jcenter { url "http://jcenter.bintray.com/"}. Altre informazioni sull'arresto di JCenter sono disponibili qui.

1. Collegamento del repository

Se non è già stato fatto, è necessario connettersi all'account del servizio repository. Dopo aver connesso l'account, selezionare il repository in cui si trova il progetto Android. Per configurare una compilazione per un repository, è necessaria l'autorizzazione di amministratore e pull.

2. Selezione di un ramo

Dopo aver selezionato un repository, selezionare il ramo da compilare. Per impostazione predefinita, verranno elencati tutti i rami attivi.

3. Configurazione della prima compilazione

Prima della prima compilazione, è necessario configurare il progetto Android.

3.1. 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.2. Variante di compilazione

Le varianti di compilazione disponibili verranno popolate dai tipi di compilazione e dai tipi di prodotto specificati nel file build.gradle (livello app). 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 uno dei tipi di prodotto dichiarati gradle. Il rilevamento delle dimensioni flavor (combinazioni di più tipi di prodotti) non è attualmente supportato.

3.3. Compilare il bundle di app Android (.aab)

Il bundle di app Android è un formato di distribuzione caricato in Play Store e usato per generare API ottimizzate per dispositivi specifici. Per altre informazioni sul bundle di app Android, vedere la documentazione ufficiale di Android.

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 sarà già attiva.

3.4. 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.5. 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 le credenziali pertinenti nel riquadro di configurazione. Per altre informazioni sull'accesso al codice, vedere la documentazione sulla firma del codice Android di App Center. L'oggetto .aab verrà firmato usando le stesse credenziali di .apk.

3.6. 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. In questo modo vengono aggiunti circa 10 minuti al tempo di compilazione totale. Altre informazioni su come configurare i test di avvio.

3.7. Configurare dal file build.gradle (a livello di app)

Le informazioni specifiche sulla compilazione verranno raccolte dal file Gradle, incluse le dipendenze, la versione degli strumenti di compilazione, i tipi di compilazione e le versioni dei prodotti.

3.8. 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 l'attivazione di una compilazione, può trovarsi in questi stati:

  • queued : la compilazione si trova in una coda in attesa che le risorse vengano liberate.
  • compilazione : l'app sta creando ed eseguendo attività correlate.
  • succeeded : la compilazione viene completata correttamente.
  • non riuscito : la compilazione è stata completata, ma non è riuscita. È possibile scaricare ed esaminare il log di compilazione per la risoluzione dei problemi.
  • annullato: la compilazione è stata annullata dall'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 del passaggio di compilazione ,che si trovano nella directory di compilazione 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. Pacchetto dell'app (APK)

L'APK è un pacchetto che contiene l'app e gli asset Android. Se la compilazione è firmata correttamente, l'APK può essere installato in un dispositivo reale e distribuito in Play Store. Se la compilazione non è stata firmata, l'APK può essere eseguito in un emulatore o usato per altri scopi.

4.3. Compilazione di più API

Se la configurazione dell'app compila più API, è necessario creare anche un APK universale. Il sistema di compilazione funziona con un file APK principale e ignorerà tutte le API specifiche per una determinata densità di CPU ABI o schermo. Per altre informazioni sulle divisioni APK e sulla creazione di un APK universale, leggere la guida alla suddivisione di ABI.

4.4. File di mapping di deobfuscation (mapping.txt)

Il mapping.txt file contiene informazioni su come eseguire il mapping delle tracce dello stack offuscate per l'app ai nomi originali della classe e dei metodi.

  • Se l'SDK di App Center è stato integrato in precedenza nell'app con il modulo di segnalazione degli arresti anomali abilitato e si usa Proguard o R8 per minificare e offuscare il file binario dell'app, il servizio di segnalazione degli arresti anomali richiede questo mapping.txt file per una compilazione per visualizzare report di arresto anomalo leggibili (deobfuscated).
  • Se in precedenza è stato integrato un altro SDK per la segnalazione di arresti anomali nell'app (ad esempio HockeyApp SDK), il servizio corrispondente richiede che il mapping.txt file visualizzi i report sugli arresti anomali leggibili.

5. Versioni e requisiti supportati

La versione minima supportata per compilare app Android è 7.0 (livello API 24). Le app Android possono avere un livello api minimo inferiore necessario per l'esecuzione, ma deve avere come destinazione almeno il livello API 24.

Le app devono essere compilate con Gradle e il plug-in Android Gradle per essere configurati correttamente. Il repository deve includere un wrapper Gradle.

Vedere anche: Informazioni sul computer di compilazione cloud