Báo cáo lỗi chứa nhật ký thiết bị, dấu vết ngăn xếp, và thông tin chẩn đoán khác
để giúp bạn tìm và sửa lỗi trong ứng dụng của mình. Bạn có thể chụp báo cáo lỗi
từ thiết bị của mình bằng cách sử dụng tùy chọn
Lấy báo cáo lỗi
trên thiết bị, menu Trình mô phỏng Android
hoặc lệnh adb bugreport
trên máy phát triển của bạn.

Hình 1. Tùy chọn cho nhà phát triển
Để nhận báo cáo lỗi, bạn phải bật Tùy chọn cho nhà phát triển trên thiết bị của bạn để có thể truy cập vào tùy chọn Nhận báo cáo lỗi.
Chụp báo cáo lỗi trên một thiết bị

Hình 2. Báo cáo lỗi đã sẵn sàng
Để nhận báo cáo lỗi ngay trên thiết bị của bạn, hãy làm như sau:
- Đảm bảo bạn đã bật Tùy chọn cho nhà phát triển.
- Trong Tùy chọn cho nhà phát triển, nhấn Nhận báo cáo lỗi.
- Chọn loại báo cáo lỗi mà bạn muốn rồi nhấn Báo cáo.
Sau giây lát, bạn sẽ nhận được một thông báo cho biết báo cáo lỗi đã sẵn sàng (xem hình 2).
- Để chia sẻ báo cáo lỗi, hãy nhấn vào thông báo.
Chụp báo cáo lỗi từ Trình mô phỏng Android
Từ Trình mô phỏng Android, bạn có thể sử dụng tính năng Gửi lỗi trong mục điều khiển mở rộng:
- Nhấp vào biểu tượng Thêm
trong bảng điều khiển mô phỏng.
Trong cửa sổ Kiểm soát mở rộng, chọn Báo cáo lỗi ở bên trái.
Thao tác này sẽ mở ra một màn hình mà bạn có thể xem thông tin chi tiết về báo cáo lỗi như ảnh chụp màn hình, thông tin cấu hình AVD và nhật ký báo cáo lỗi. Bạn cũng có thể nhập một thông điệp bằng các bước sao chép để lưu lại bằng báo cáo.
Đợi báo cáo lỗi kết thúc, sau đó nhấp vào Lưu báo cáo.
Chụp báo cáo lỗi bằng adb
Nếu bạn chỉ có một thiết bị kết nối, bạn có thể nhận báo cáo lỗi bằng
adb
như sau:
$ adb bugreport E:\Reports\MyBugReports
Nếu bạn không chỉ định đường dẫn cho báo cáo lỗi, nó sẽ được lưu vào thư mục trên máy.
Nếu bạn kết nối nhiều thiết bị, bạn phải chỉ định thiết bị với tùy chọn
-s
. Chạy các lệnh adb
sau đây để
nhận số sê-ri của thiết bị và tạo báo cáo lỗi.
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Lưu báo cáo lỗi cũ hơn
Theo mặc định, các báo cáo lỗi được lưu tại /bugreports
và bạn có thể xem các báo cáo này sử dụng:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
Sau đó bạn có thể kéo tệp zip thông qua adb pull
như sau:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
Kiểm tra tệp ZIP chứa báo cáo lỗi
Theo mặc định, tệp ZIP có tên
bugreport-BUILD_ID-DATE.zip
và
nó có thể chứa nhiều tệp, nhưng tệp quan trọng nhất là
bugreport-BUILD_ID-DATE.txt
. Đây
là báo cáo lỗi và chứa
kết quả chẩn đoán cho các dịch vụ hệ thống (dumpsys
), nhật ký lỗi (dumpstate
)
và nhật ký thông báo hệ thống (logcat
). Thông báo hệ thống bao gồm dấu vết ngăn xếp
khi thiết bị gặp lỗi và, thông báo được viết từ tất cả các ứng dụng có loại
Log
.
Tệp ZIP chứa một tệp siêu dữ liệu version.txt
có chứa
thư phát hành của Android. Khi bạn bật systrace, tệp ZIP cũng sẽ chứa
tệp systrace.txt
. Công cụ Systrace
giúp bạn phân tích hiệu quả hoạt động
của ứng dụng bằng cách chụp và hiển thị thời gian thực thi của
các quy trình ứng dụng và các quy trình khác của hệ thống Android.
Công cụ dumpstate
sao chép các tệp từ hệ thống tệp của thiết bị
vào tệp ZIP trong thư mục FS
để bạn có thể tham khảo chúng. Ví dụ:
một tệp /dirA/dirB/fileC
trong thiết bị sẽ tạo một
mục FS/dirA/dirB/fileC
trong tệp ZIP.
Hình 3. Cấu trúc tệp báo cáo lỗi
Để biết thêm thông tin, hãy xem Đọc báo cáo lỗi.
Nhận báo cáo từ người dùng
Việc chụp các báo cáo lỗi như mô tả ở trên rất hữu ích khi bạn đang sử dụng, nhưng người dùng cuối không thể dễ dàng chia sẻ các loại báo cáo lỗi này với bạn. Để nhận báo cáo sự cố có dấu vết ngăn xếp từ người dùng trong thực tế, bạn nên tận dụng các tính năng báo cáo sự cố của Google Play và Firebase.
Google Play Console
Bạn có thể nhận báo cáo từ Google Play Console để xem dữ liệu về các sự cố và lỗi ứng dụng không phản hồi (ANR) từ người dùng đã cài đặt ứng dụng của bạn từ Google Play. Dữ liệu có sẵn cho sáu tháng trước.
Để biết thêm thông tin, hãy xem Xem sự cố và lỗi ứng dụng không phản hồi (ANR) trong phần trợ giúp của Play Console.
Báo cáo lỗi Firebase
Báo cáo Firebase Crashlytics tạo báo cáo chi tiết về các lỗi trong ứng dụng của bạn. Các lỗi được nhóm thành vấn đề dựa trên dấu vết ngăn xếp tương tự và được phân loại theo mức độ ảnh hưởng đến người dùng. Ngoài việc nhận báo cáo tự động, bạn có thể ghi nhật ký các sự kiện tùy chỉnh để giúp nắm bắt các bước dẫn đến sự cố.
Bạn sẽ bắt đầu nhận được báo cáo sự cố từ những người dùng đơn giản bằng cách thêm phần phụ thuộc Firebase
vào tệp build.gradle
. Để biết thêm thông tin, hãy xem
Firebase Crashlytics.