This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Qui descriviamo come eseguire il debug di una build con Android Studio, l’IDE ufficiale per Android, il sistema operativo di Google.
Prepara il bundle impostando l’opzione android.debuggable in game.project

Crea il bundle dell’app in modalità debug in una cartella a tua scelta.

Avvia Android Studio
Scegli Profile or debug APK

Scegli il bundle APK che hai appena creato

Seleziona il file .so principale e assicurati che contenga i simboli di debug

Se non li contiene, carica un file .so da cui non siano stati rimossi i simboli di debug. (La dimensione è di circa 20 MB)
Le mappature dei percorsi consentono di associare i singoli percorsi usati per compilare l’eseguibile nel cloud a una cartella effettiva sul tuo disco locale.
Seleziona il file .so, quindi aggiungi una mappatura verso il tuo disco locale


Se hai accesso al codice sorgente del motore, aggiungi una mappatura dei percorsi anche per quello.
Assicurati di passare alla versione di cui stai eseguendo il debug
defold$ git checkout 1.2.148
Premi Apply changes
Ora dovresti vedere il codice sorgente mappato nel tuo progetto

Aggiungi un punto di interruzione

Premi Run -> Debug "Appname" ed esegui il codice nel quale vuoi interrompere l’esecuzione

Ora puoi procedere passo per passo nello stack di chiamate e ispezionare le variabili
Attualmente, questo flusso di lavoro è un po’ scomodo per lo sviluppo. Il nome della cartella del job è casuale per ogni build, rendendo la mappatura dei percorsi non valida a ogni nuova build.
Tuttavia, funziona bene per una sessione di debug.
Le mappature dei percorsi vengono memorizzate nel file di progetto .iml del progetto Android Studio.
È possibile ricavare la cartella del job dall’eseguibile
$ arm-linux-androideabi-readelf --string-dump=.debug_str build/armv7-android/libdmengine.so | grep /job
La cartella del job ha un nome come job1298751322870374150, con un numero casuale ogni volta.