Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Esportazione per Android

Vedi anche

Questa pagina descrive come esportare un progetto Godot per Android. Se si desidera invece compilare i binari del modello di esportazione dal codice sorgente, consultare Compilare per Android.

L'esportazione per Android richiede meno requisiti rispetto alla compilazione di Godot per Android. I passaggi seguenti descrivono nel dettaglio cosa è necessario per configurare l'SDK e il motore Android.

Attenzione

È possibile esportare i progetti scritti in C# per Android a partire da Godot 4.2, ma il supporto è sperimentale e si applicano alcune limitazioni.

Installare OpenJDK 17

Scarica e installa OpenJDK 17.

Nota

Sono supportate anche versioni successive del JDK, ma consigliamo di utilizzare il JDK 17 per una compatibilità e una stabilità ottimali.

Scaricare l'SDK di Android

Scarica e installa l'SDK di Android.

  • Puoi installarlo tramite Android Studio Iguana (version 2023.2.1) o versioni successive.

    • Eseguirlo una volta per completare la configurazione dell'SDK seguendo queste istruzioni.

    • Assicurarsi che siano installati anche i pacchetti richiesti.

      • Android SDK Platform-Tools versione 35.0.0 or successiva

      • Android SDK Build-Tools versione 35.0.1

      • Android SDK Platform 35

      • Strumenti da riga di comando dell'SDK Android (ultima versione)

    • Assicurarsi che NDK e CMake siano installati e configurati.

      • CMake versione 3.10.2.4988404

      • NDK versione r28b (28.1.13356709)

  • Alternativamente, è possibile installare l'SDK di Android con lo strumento da riga di comando sdkmanager.

    • Installare il pacchetto degli strumenti da riga di comando attraverso queste istruzioni.

    • Una volta installati gli strumenti della riga di comando, eseguire il seguente comando di sdkmanager per completare il processo di configurazione:

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;35.0.1" "platforms;android-35" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;28.1.13356709"

Nota

Se si sta utilizzando Linux, non utilizzare un SDK Android fornito dai repository della propria distribuzione, poiché spesso non sarà aggiornato.

Configurandolo in Godot

Accedi alla schermata delle Impostazioni editor (nella scheda Godot per macOS, o nella scheda Editor per le altre piattaforme). Questa schermata contiene le impostazioni dell'editor per l'account utente del computer (è indipendente dal progetto).

../../_images/editorsettings.png

Scorri verso il basso fino alla sezione in cui si trovano le impostazioni di Android:

../../_images/android_editor_settings.webp

In questa schermata, è necessario impostare 2 percorsi:

  • Il percorso Java SDK Path dovrebbe corrispondere alla posizione in cui è stato installato OpenJDK 17.

  • Il percorso Android SDK Path dovrebbe corrispondere alla posizione in cui è stato installato l'SDK Android. Questa cartella dovrebbe contenere platform-tools/adb. - Ad esempio, %LOCALAPPDATA%\Android\Sdk\ su Windows o /Users/$USER/Library/Android/sdk/ su macOS.

Una volta configurato ciò, tutto è pronto per esportare su Android!

Nota

Se appare un errore del tipo "Impossibile installare sul dispositivo.", assicurarsi di non avere già installata sul dispositivo un'applicazione con lo stesso nome del pacchetto Android (ma firmata con una chiave diversa).

Se sul dispositivo è già installata un'applicazione con lo stesso nome del pacchetto Android ma con una chiave di firma diversa, è necessario rimuovere l'applicazione in questione dal dispositivo Android prima di esportarla nuovamente su Android.

Fornire icone di avvio

Le icone di avvio servono alle app di avvio su Android per rappresentare le applicazioni agli utenti. Godot richiede solo icone ad alta risoluzione (per schermi con densità di xxxhdpi) e genererà automaticamente varianti a risoluzioni inferiori.

Ci sono tre tipi di icone:

  • Main Icon: l'icona "classica". Questa sarà utilizzata su tutte le versioni di Android fino ad Android 8 (Oreo), escluso. Deve avere una dimensione minima di 192×192 px.

  • Adaptive Icons: A partire da Android 8 (incluso), sono state introdotte le Icone adattive. Le applicazioni dovranno includere icone separate per lo sfondo e il primo piano per avere un aspetto nativo. L'applicazione di avvio dell'utente controllerà l'animazione e la maschera dell'icona. Le dimensioni devono essere di almeno 432×432 px.

  • Themed Icons (opzionali): a partire da Android 13 (incluso), sono state introdotte le icone a tema. Le applicazioni dovranno includere un'icona monocromatica per abilitare questa funzione. L'applicazione di avvio dell'utente controllerà il tema dell'icona. Le dimensioni devono essere di almeno 432×432 pixel.

Vedi anche

È importante attenersi ad alcune regole quando si progettano icone adattive. Google Design ha pubblicato un ottimo articolo che aiuta a comprendere queste regole e alcune delle funzionalità delle icone adattive.

Attenzione

La regola più importante per progettare le icone adattive è quella di posizionare gli elementi critici dell'icona all'interno della zona sicura: un cerchio centrato con un diametro di 66 dp (264 pixel su xxxhdpi) per evitare che siano ritagliate dal launcher.

Se le icone richieste non vengono fornite (tranne quella monocromatica), Godot le sostituirà attraverso una catena di alternative, provando la successiva in ordine di priorità quando quella attuale fallisce:

  • Main Icon: Icona principale fornita -> Icona del progetto -> Icona principale predefinita di Godot.

  • Adaptive Icon Foreground: Icona in primo piano fornita -> Icona principale fornita -> Icona del progetto -> Icona in primo piano predefinita di Godot.

  • Adaptive Icon Background: Icona di sfondo fornita -> Icona di sfondo predefinita di Godot.

Si raccomanda vivamente di fornire tutte le icone richieste con le loro risoluzioni specificate. In questo modo, l'applicazione avrà un aspetto ottimale su tutti i dispositivi e le versioni di Android.

Esportare per il Google Play Store

Tutte le nuove app caricate su Google Play dopo agosto 2021 devono essere file AAB (Android App Bundle).

Caricare un file AAB o APK sul Google Play Store richiede una firma tramite un file keystore non di debug; è possibile generare questo file così:

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

Questo keystore e la sua chiave servono per verificare la tua identità di sviluppatore; è importante memorizzare la password e conservarla in un luogo sicuro! Si consiglia di utilizzare solo lettere maiuscole e minuscole e numeri. I caratteri speciali potrebbero causare errori. Consultare le guide per sviluppatori Android di Google per ulteriori informazioni sulla firma delle app.

Ora compilare i seguenti moduli nelle tue Preimpostazioni di esportazione Android:

../../_images/editor-export-presets-android.png
  • Release: inserire il percorso del file keystore appena generato.

  • Release User: sostituire con l'alias della chiave.

  • Release Password: Password della chiave. Si noti che la password del keystore e la password della chiave devono essere uguali.

Non dimenticare di deselezionare la casella Export With Debug durante l'esportazione.

../../_images/export-with-debug-button.png

Optimizing the file size

Se si lavora con APK e non con AAB, come predefinito, l'APK conterrà librerie native sia per l'architettura ARMv7 sia per quella ARMv8. Questo ne aumenta enormemente le dimensioni. Per creare un file più piccolo, deselezionare Armeabi-v 7a o Arm 64 -v 8a nella preimpostazione di esportazione Android del progetto. In questo modo verrà creato un APK che conterrà una sola libreria per una singola architettura. Si noti che le applicazioni destinate ad ARMv7 si possono eseguire anche sui dispositivi ARMv8, ma non viceversa. Il motivo per cui non si dovrebbe fare così per risparmiare spazio con gli AAB è che Google suddivide automaticamente l'AAB nel proprio backend, in modo che l'utente scarichi solo ciò di cui ha bisogno.

È possibile ottimizzare ulteriormente le dimensioni compilando un modello di esportazione Android con solo le funzionalità necessarie. Consultare Ottimizzare una compilazione per dimensioni per maggiori informazioni.

Variabili d'ambiente

È possibile utilizzare le seguenti variabili d'ambiente per impostare le opzioni di esportazione al di fuori dell'editor. Durante il processo di esportazione, queste variabili sovrascrivono i valori impostati nel menu di esportazione.

Variabili d'ambiente di esportazione per Android

Opzioni di esportazione

Variabile d'ambiente

Crittografia / Chiave crittografica

GODOT_SCRIPT_ENCRYPTION_KEY

Opzioni / Keystore / Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Opzioni / Keystore / Utente di debug

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Opzioni / Keystore / Password di debug

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Opzioni / Keystore / Rilascio

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Opzioni / Keystore / Utente di rilascio

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Opzioni / Keystore / Password di rilascio

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD

Opzioni di esportazione

È possibile trovare un elenco completo delle opzioni di esportazione disponibili nel riferimento alla classe EditorExportPlatformAndroid.