แสดงสัญลักษณ์ข้อขัดข้องและ ANR ของ Android สำหรับเกม Unity

ข้อขัดข้องและ ANR ใน Android จะสร้างสแต็กเทรซซึ่งเป็นภาพรวมของ ลำดับฟังก์ชันที่ฝังซึ่งมีการเรียกใช้ในเกมของคุณจนถึงเวลาที่ขัดข้อง ชุดข้อมูลเหล่านี้ช่วยให้คุณระบุและแก้ไขปัญหาที่เกิดขึ้นในแหล่งที่มาได้

อย่างไรก็ตาม เมื่อคุณสร้างเกมด้วย Unity ในโหมดเผยแพร่ สัญลักษณ์ต่างๆ ไม่ได้บรรจุ APK หากเกมขัดข้องหรือมี ANR สแต็กการเรียกใช้เท่านั้น จะแสดงที่อยู่ของหน่วยความจำ

เช่น

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 รองรับการอัปโหลดไฟล์สัญลักษณ์สำหรับแก้ไขข้อบกพร่องของแอปแต่ละเวอร์ชัน ใน Play Console ซึ่งจะช่วยให้วิเคราะห์และแก้ไขข้อขัดข้องและ ANR ได้ง่ายขึ้น

ใน Unity 2020.3 ขึ้นไป คุณสามารถทําตามคําแนะนําของ Unity เพื่อสร้าง สัญลักษณ์ Android แล้วอัปโหลดไฟล์สำหรับการแทนที่ด้วยสัญลักษณ์ไปยัง Google Play Console เพื่อดูสแต็กเทรซที่มนุษย์อ่านได้ใน Android Vitals หน้าแดชบอร์ด

หรือใช้ บทความสัญลักษณ์ข้อขัดข้องของ Android จาก Unity เพื่อแก้ปัญหาสแต็กเทรซด้วยตนเองหรือสร้างไฟล์สัญลักษณ์สำหรับที่ต่ำกว่า เวอร์ชัน Unity