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.
Checking the stable version of the documentation...
Risolvere arresti anomali su Android
Quando il proprio gioco si blocca su Android, spesso appaiono stack trace offuscati nella Play Console o in altri strumenti di segnalazione dei crash come Firebase Crashlytics. Per rendere questi stack trace leggibili in chiaro (simbolicati), c'è bisogno di simboli di debug nativi che corrispondano alla build esportata del gioco.
Godot ora fornisce simboli di debug nativi scaricabili per ogni modello di esportazione ufficiale.
Ottenere i simboli di debug nativi per i modelli ufficiali
I file dei simboli di debug nativi sono forniti per ogni versione stabile di Godot e si possono scaricare dalla pagina dei rilasci su GitHub.
Ad esempio, per ottenere i simboli di debug nativi per la versione 4.5.1.stable:
Andare alla pagina del rilascio 4.5.1.stable
Scaricare l'artefatto di rilascio
Godot_native_debug_symbols.4.5.1.stable.template_release.android.zip
Ottenere simboli di debug nativi per build personalizzate
Il modello esportato e i relativi simboli di debug nativi devono provenire dalla stessa build, pertanto è possibile utilizzare i simboli ufficiali solo se si utilizzano i modelli di esportazione ufficiali. Se si creano modelli di esportazione personalizzati, è necessario generare autonomamente i file dei simboli corrispondenti.
Per farlo, aggiungere debug_symbols=yes separate_debug_symbols=yes al comando di build di scons. Questo genererà un file denominato android-template-release-native-symbols.zip contenente i simboli di debug nativi per la propria build personalizzata.
Per esempio,
scons platform=android target=template_release debug_symbols=yes separate_debug_symbols=yes generate_android_binaries=yes
Se si sta compilando per più architetture, si dovrebbe includere separate_debug_symbols=yes solo nell'ultimo comando di compilazione, in modo simile a come si usa generate_android_binaries=yes.
scons platform=android arch=arm32 target=template_release debug_symbols=yes
scons platform=android arch=arm64 target=template_release debug_symbols=yes
scons platform=android arch=x86_32 target=template_release debug_symbols=yes
scons platform=android arch=x86_64 target=template_release debug_symbols=yes separate_debug_symbols=yes generate_android_binaries=yes
Caricare i simboli sul Google Play Console
Seguire questi passaggi per caricare i simboli di debug nativi:
Aprire Play Console.
Seleziona qualunque applicazione.
Nel menu a sinistra, andare su
Test and release > Latest releases and bundles.
Ora scegliere il pacchetto desiderato e aprirlo.
Selezionare la scheda
Downloade scorrere verso il basso fino alla sezioneAssets.
Accanto a
Native debug symbols, cliccare sull'icona della freccia di caricamento.
Selezionare e caricare il file dei simboli di debug nativi corrispondente a quella versione di build.
Alternativamente, è possibile caricare i simboli al momento della creazione di un nuovo rilascio:
Nella pagina Crea rilascio, individuare il nuovo pacchetto di rilascio.
Cliccare sul menu con i tre puntini accanto ad esso.
Scegliere
Upload native debug symbols (.zip)dal menu.
Selezionare e caricare il file dei simboli di debug nativi corrispondente a quella versione di build.
Simbolizzare manualmente i log dei crash
È inoltre possibile simbolizzare manualmente i log dei crash attraverso lo strumento ndk-stack incluso nell'Android NDK.
Nota
Se è già installato l'Android SDK, è possibile trovare lo strumento ndk-stack all'interno della cartella ndk nella posizione in cui è installato l'SDK. Altrimenti, è possibile scaricare l'NDK direttamente dalla pagina di download dell'NDK.
Estrai il file zip dei simboli di debug nativi scaricato in precedenza (o generato con la build personalizzata).
Salvare il log dei crash in un file di testo (ad esempio,
crash.txt).
Importante
ndk-stack cerca una riga iniziale di asterischi durante l'analisi del log dei crash. Assicurarsi che il file crash.txt inizi con la seguente riga:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Eseguire ndk-stack con il percorso della cartella dei simboli che corrisponde all'architettura della CPU che ha causato il crash (ad esempio,
arm64-v8a):
ndk-stack -sym path/to/native_debug_symbols/arm64-v8a/ -dump crash.txt
L'output mostrerà una traccia con simboli, indicando i nomi dei file e i numeri di riga nel codice sorgente di Godot (o nella build personalizzata).