Thay thế sự cố và lỗi ứng dụng không phản hồi (ANR) trên Android bằng biểu tượng cho trò chơi Unity

Sự cố và lỗi ANR trên Android tạo ra dấu vết ngăn xếp. Dấu vết ngăn xếp được coi như bản tổng quan nhanh về hiện trạng trình tự của các hàm được lồng và gọi trong trò chơi cho đến thời điểm xảy ra sự cố. Các bản tổng quan nhanh này có thể giúp bạn xác định và khắc phục mọi vấn đề trong nguồn.

Tuy nhiên, khi tạo bản dựng trò chơi bằng Unity ở chế độ phát hành, các biểu tượng sẽ không được đóng gói trong tệp APK. Nếu trò chơi của bạn gặp sự cố hoặc xảy ra lỗi ANR, ngăn xếp lệnh gọi chỉ cho thấy địa chỉ bộ nhớ.

Ví dụ:

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 hỗ trợ tải tệp biểu tượng gỡ lỗi lên cho từng phiên bản ứng dụng trên Play Console. Thao tác này giúp việc phân tích và khắc phục sự cố và lỗi ANR của bạn trở nên dễ dàng hơn.

Từ Unity 2020.3 trở lên, bạn có thể làm theo hướng dẫn của Unity để tạo Biểu tượng Android rồi tải tệp thay thế bằng biểu tượng lên Google Play Console để xem dấu vết ngăn xếp mà con người có thể đọc được trên Android Vitals bảng điều khiển.

Mặt khác, bạn có thể theo dõi bài viết Thay thế các sự cố Android bằng biểu tượng của Unity để giải quyết dấu vết ngăn xếp theo cách thủ công hoặc tạo tệp biểu tượng cho các phiên bản Unity thấp hơn.