Simbolizzazione degli arresti anomali e degli errori ANR di Android per i giochi Unity

Arresti anomali e ANR su Android generano un'analisi dello stack, che è un'istantanea della sequenza di funzioni nidificate chiamate nel gioco fino al momento in cui si è arrestato in modo anomalo. Questi snapshot possono aiutarti a identificare e risolvere eventuali problemi nell'origine.

Tuttavia, quando crei il gioco con Unity in modalità di rilascio, i simboli non sono inclusi nell'APK. Se il tuo gioco si arresta in modo anomalo o presenta ANR, lo stack di chiamate mostra solo l'indirizzo di memoria.

Ecco alcuni esempi:

05-26 18:06:51.311: A/libc(26986): Fatal signal 11 (SIGSEGV) at 0x000004e4 (code=1), thread 27024 (Worker Thread)
05-26 18:06:51.411: I/DEBUG(242): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-26 18:06:51.411: I/DEBUG(242): Build fingerprint: 'Xiaomi/cancro_wc_lte/cancro:4.4.4/KTU84P/V6.7.1.0.KXDCNCH:user/release-keys'
05-26 18:06:51.411: I/DEBUG(242): Revision: '0'
05-26 18:06:51.411: I/DEBUG(242): pid: 26986, tid: 27024, name: Worker Thread  >>> com.u.demo <<<
05-26 18:06:51.411: I/DEBUG(242): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 000004e4
 I/DEBUG(242): backtrace:
 I/DEBUG(242):     #00  pc 006d4960  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #01  pc 006d4c0c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #02  pc 006d4c0c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #03  pc 006d4c0c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #04  pc 006d4c0c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #05  pc 001c5510  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #06  pc 001c595c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #07  pc 001c4ec0  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #08  pc 0043a05c  /data/app-lib/com.u.demo-1/libunity.so
 I/DEBUG(242):     #09  pc 0000d248  /system/lib/libc.so (__thread_entry+72)
 I/DEBUG(242):     #10  pc 0000d3e0  /system/lib/libc.so (pthread_create+240)

Google Play supporta il caricamento di un file di simboli di debug per ogni versione della tua app in Play Console. In questo modo è più semplice analizzare e risolvere i problemi relativi ad arresti anomali e ANR.

A partire da Unity 2020.3 e versioni successive, puoi seguire le indicazioni di Unity per generare simboli Android e poi caricare il file di simbolizzazione in Google Play Console per visualizzare un'analisi dello stack leggibile nella dashboard di Android vitals.

In caso contrario, puoi seguire l'articolo Simbolo di arresto anomalo di Android da Unity per risolvere manualmente l'analisi dello stack o generare file di simboli per le versioni inferiori di Unity.