Nhật ký thiết bị Android
Bạn có thể thu thập nhật ký android bằng máy tính Windows, MacOS, Linux, hay bất cứ nền tảng nào miễn là sử dụng adb hoặc Android Studio thay vì các ứng dụng như Syslog hoặc CatLog.
Trước khi thu thập, hãy đảm bảo:
- USB Debugging được bật trên điện thoại của bạn:
- Trên điện thoại của bạn, mở ứng dụng Cài đặt lên
- Tìm và chạm vào Build number 7 lần để kích hoạt Công cụ nhà phát triển
- Bật tùy chọn USB Debugging lên
- Điện thoại của bạn không được khóa, nên ở trạng thái đang hoạt động và kết nối với máy tính
- Bạn có thể thấy một thông báo trên điện thoại yêu cầu cho phép kết nối, hãy chắc chắn bạn tích vào Always allow from this computer và chạm vào Allow
Lưu ý
Nếu bạn thấy một thông báo của phần mềm quét virus (antivirus) về adb.exe, thì hãy tắt phần mềm đó đi hoặc thêm adb.exe vào danh sách không theo dõi của phần mềm đó
Dùng ADB để kết nối và thu thập
Tìm hiểu về adb tại [đây](Android Debug Bridge (adb) | Android Studio | Android Developers)
Gỡ lỗi không dây (chỉ Android 11+)
Bạn có thể skip phần này và đọc các hướng dẫn kết nối có dây phía dưới nếu phiên bản Android thấp hơn 11. Đảm bảo các thiết bị kết nối cùng mạng WiFi và thực hiện các bước sau:
- Tải xuống, giải nén và mở thư mục platform-tools trên máy tính của bạn
- Trên điện thoại, đi tới Settings > Developers Settings
- Một cửa sổ thông báo sẽ hiện ra với yêu cầu gỡ lỗi không dây qua mạng, tích vào Always allow on this network và chạm vào Allow
- Chạm vào Pair device with pairing code
- Trên máy tính, gõ cmd tại đường dẫn thư mục platform-tools và nhấn Enter
- Nhập địa chỉ IP, cổng, và mã kết nối được hiển thị trên thiết bị Android của bạn với lệnh:
adb pair <Địa chỉ IP>:<Cổng> <Mã kết nối>
- Xong rồi thì kết nối với máy tính bằng lệnh:
adb connect <Địa chỉ IP>:<Cổng mới>
- Bây giờ bạn đã sẵn sàng thể thu thập nhật ký mà không phải thông qua dây cáp USB
- Xóa nhật ký cũ bằng lệnh
adb logcat -c
- Thực hiện các bước tái tạo lỗi trên thiết bị Android
- Thu thập bằng lệnh
adb logcat -d -v time >log.txt
hoặcadb logcat -v threadtime >log.txt
và nhấn Ctrl+C để dừng thu thập - Bạn sẽ thấy file log.txt trong thư mục hiện tại
- Tải lên báo cáo là xong!
Lưu ý
- Để thấy thông báo gỡ lỗi không dây lần đầu, bạn nên chạm vào Revoke USB debugging authorizations để xóa tất cả các xác thực USB đã lưu trước đó và thực hiện lại các bước trên
- Nếu dung lượng nhật ký lớn mà dự án giới hạn tài nguyên tải lên, hãy thử lại bằng cách đóng hết ứng dụng không liên quan và xóa nhật ký cũ bằng lệnh
adb logcat -c
Mẹo
Dùng kết nối không dây sẽ ổn định hơn cách trên
Windows
- Tải xuống SDK Platform Tools tại đây trên máy tính của bạn
- Giải nén và lưu nó vào ổ cứng thiết bị mà bạn muốn
- Mở thư mục platform-tools lên và gõ
cmd
trong thanh địa chỉ đường dẫn rồi nhấn Enter - Xóa nhật ký cũ trước đó bằng lệnh:
adb logcat -c
- Thực hiện các bước tái tạo lỗi trên thiết bị của bạn
- Sau khi tái tạo xong, gõ lệnh:
adb logcat -d -v time >.\log.txt
để thu thập - Bạn sẽ thấy file log.txt trong thư mục hiện tại
- Tải nó lên báo cáo lỗi là xong
Cách khác (khuyên dùng):
- Thực hiện các bước từ 1 đến 4 ở trên
- Gõ
adb logcat -v threadtime >.\log.txt
để bắt đầu thu thập - Thực hiện các bước tái tạo lỗi và bạn sẽ thấy nhật ký được tạo ngay trong thời gian thực, khác với cách trên
- Nhấn tổ hợp Ctrl+C để dừng thu thập
- Bạn sẽ thấy file log.txt trong thư mục hiện tại
- Tải lên báo cáo và đảm bảo file không có vấn đề khi nhấp vào
Lưu ý
- Nếu dung lượng nhật ký lớn mà dự án giới hạn tài nguyên tải lên, hãy thử lại bằng cách xóa nhật ký cũ bằng lệnh
adb logcat -c
và chỉ mở ứng dụng cần kiểm thử để tái tạo- Nếu gặp vấn đề khi thực thi các lệnh adb, chạy
adb kill-server
để dừng tiến trình đang chạy và làm lại các bước trên
MacOS
- Tải xuống SDK Platform Tools tại đây trên máy Mac của bạn
- Giải nén và lưu nó vào ổ cứng thiết bị mà bạn muốn
- Mở Terminal lên và gõ
cd
kèm 1 dấu cách theo sau - Kéo thả thư mục platform-tools vừa tải xuống vào cửa sổ terminal và nhấn Enter
- Xóa nhật ký cũ trước đó bằng lệnh:
./adb logcat -c
- Thực hiện các bước tái tạo lỗi trên thiết bị của bạn
- Sau khi tái tạo xong, gõ lệnh:
./adb logcat -d -v time >./log.txt
để thu thập - Bạn sẽ thấy file log.txt trong thư mục hiện tại
- Tải nó lên báo cáo lỗi là xong
Cách khác (khuyên dùng):
- Thực hiện các bước từ 1 đến 4 ở trên
- Gõ
./adb logcat -v threadtime >./log.txt
để bắt đầu thu thập - Thực hiện các bước tái tạo lỗi và bạn sẽ thấy nhật ký được tạo ngay trong thời gian thực, khác với cách trên
- Nhấn tổ hợp phím Ctrl+C để dừng thu thập
- Bạn sẽ thấy file log.txt được tạo trong thư mục hiện tại
- Tải nó lên báo cáo và đảm bảo file không có vấn đề khi nhấp vào
Linux
- Mở Terminal lên và gõ lệnh sau tùy vào bản phân phối Linux của bạn
- Bản Debian (Ubuntu, Linux Mint, …):
sudo apt-get install adb
- Bản Fedora/SUSE:
sudo yum install android-tools
- Bản Debian (Ubuntu, Linux Mint, …):
- Cung cấp mật khẩu thiết bị và đợi đến khi cài xong
- Xóa nhật ký cũ bằng lệnh:
adb logcat -c
- Thực hiện các bước tái tạo lỗi
- Sau khi tái tạo xong, gõ lệnh:
./adb logcat -d -v time >./log.txt
để thu thập - Bạn sẽ thấy file log.txt trong thư mục hiện tại
- Tải nó lên báo cáo lỗi là xong
Cách khác (khuyên dùng):
- Thực hiện các bước từ 1 đến 3 ở trên
- Gõ
./adb logcat -v threadtime >./log.txt
để bắt đầu thu thập - Thực hiện các bước tái tạo lỗi và bạn sẽ thấy nhật ký được tạo ngay trong thời gian thực, khác với cách trên
- Nhấn tổ hợp phím Ctrl+C để dừng thu thập
- Bạn sẽ thấy file log.txt được tạo trong thư mục hiện tại
- Tải nó lên báo cáo và đảm bảo file không có vấn đề khi nhấp vào
Lưu ý
Bạn cũng có thể tải xuống platform-tools ở đây và thực hiện các bước từ 2 đến 4 tương tự như Windows
Dùng Android Studio
Tìm hiểu về Android Studio tại đây
Gỡ lỗi không dây (chỉ Android 11+)
Đảm bảo các thiết bị kết nối cùng mạng WiFi và thực hiện các bước sau:
- Trên máy tính của bạn, tải xuống và cài đặt Android Studio tại đây
- Trong phần Setup Wizard, nhấp vào Next
- Đối với mảng testing, thay đổi cài đặt thành Custom để loại bỏ việc cài đặt các tệp không cần thiết và không liên quan
- Bỏ tích tất cả các thành phần tùy chọn và nhấp vào Next
- Trong màn hình chào mừng của Android Studio, nhấp vào New Project và chọn Empty Activity
- Nhấp vào Next > Finish và không cần thay đổi thêm gì cả
- Sau khi quá trình đồng bộ hoàn tất, nhấp vào danh sách thả No Device
- Nhấp vào Pair device using Wifi và đi tới tab Pair using the pairing code
- Giờ hãy đi tới Settings > Developers options trên điện thoại của bạn
- Chạm vào Wireless debugging và bật nó lên
- Chạm vào Pair device with Pairing code hoặc chạm vào Pair device with QR code để quét mã QR
- Nhấp vào nút Pair bên cạnh đỉa chỉ IP xuất hiện khớp với IP của điện thoại trên Android Studio
- Gõ mã kết nối và nhấp vào Pair
- Khi kết nốt thành công, nhấp vào Logcat từ dưới màn hình và xóa các bộ lọc nếu nó tự động chọn lọc
- Xóa nhật ký cũ bằng cách nhấp vào biểu tượng thùng rác
- Giờ hãy thực hiện các bước tái tạo lỗi trên điện thoại
- Trên máy tính, nhấp vào nút Pause để dừng việc Android Studio tiếp tục ghi nhật ký
- Nhấn Ctrl+A đẻ chọn tất cả nhật ký và chuột phải để chọn Copy
- Mở bất kì trình soạn thảo văn bản nào và tạo file mới, dán nhật ký vừa sao chép và lưu lại với định dạng .txt
Lưu ý
Khi đã kết nối thành công lần đầu thì những lần sau Android Studio sẽ tự phát hiện và kết nối thiết bị của bạn để tạo nhật ký miễn là tùy chọn wireless debugging trên điện thoại được bật
Gỡ lỗi có dây
- Tải xuống và cài đặt Android Studio tại đây
- Tải xong thì mở Android Studio lên
- Trong phần Setup Wizard, nhấp vào Next
- Thay đổi cài đặt thành Custom để loại bỏ việc cài đặt các tệp không cần thiết và không liên quan đến mảng testing
- Bỏ tích tất cả các thành phần tùy chọn và nhấp vào Next
- Bên trong màn hình chào mừng của Android Studio, nhấp vào New Project và chọn Empty Activity
- Nhấp vào Next > Finish và không cần thay đổi thêm gì cả
- Đợi đến khi quá trình đồng bộ hoàn tất và mở Logcat từ menu View > Tool Windows > Logcat hoặc nhấp trực tiếp vào nút Logcat nếu nó hiển thị ở dưới màn hình
- Kết nối Android của bạn với máy tính
- Trong cửa sổ Logcat, chọn thiết bị Android của bạn nếu nó không tự động chọn và xóa nhật ký cũ đi bằng cách nhấp vào biểu tượng thùng rác
- Thực hiện các bước tái tạo lỗi trên điện thoại Android
- Trên máy tính, nhấp vào nút Pause để dừng Android Studio từ việc ghi nhật ký
- Nhấn Ctrl+A để chọn tất cả nhật ký được ghi và chuột phải vào đó để chọn Copy
- Mở bất kì trình sửa văn bản nào và tạo file mới, dán nội dung đã sao chép rồi lưu lại với định dạng .txt
Lưu ý
Nếu dung lượng nhật ký lớn mà dự án giới hạn tài nguyên tải lên, hãy thử lại bằng cách đóng hết ứng dụng không liên quan và xóa nhật kỹ cũ bằng cách nhấp vô biểu tượng thùng rác, sau đó tái tạo lại lần nữa.
Nhật ký thiết bị iOS
Có vô vàn phần mềm quản lý thiết bị iOS mà hỗ trợ nhật ký console, nhưng mình khuyên bạn nên dùng iMazing vì nó hoạt động trên cả Windows và MacOS. Còn Linux sẽ có phần mềm riêng biệt của nó
iMazing (Windows hoặc MacOS)
- Mở trang này lên: https://imazing.com/download
- Tải xuống phần mềm tương thích với hệ điều hành máy tính của bạn và cài đặt nó
- Mở iMazing lên và kết nối máy tính với thiết bị iOS
- Nhấp vào Show Device Console trong phần mềm
- Xóa console cũ và bắt đầu tái tạo lỗi
- Tái tạo xong rồi thì nhấp vào Pause > Save
- Lưu lại ở định dạng .txt
- Tải lên báo cáo lỗi là xong
Thông tin quan trọng
Phần mềm này miễn phí với người dùng cá nhân và người liên quan tới ngành giáo dục nhưng trả phí cho tổ chức thương mại. Trường hợp dùng cá nhân có thể yêu cầu bạn mua một giấy phép sử dụng. Mỗi người dùng có trách nhiệm tuân thủ các điều khoản và thực hiện nghĩa vụ mà thỏa thuận của giấy phép đưa ra!
Lưu ý
Ngoài iMazing ra, bạn có thể thử 3uTools hoặc iTools nhưng chúng chỉ hỗ trợ cho thiết bị Windows. Và có thể thử phần mềm ngay dưới đây trên Mac nếu cái này không hoạt động với bạn
Console (chỉ MacOS)
- Kết nối iOS của bạn với máy tính Mac qua mạng Internet
- Trên máy tính, mở phần mềm Console
- Chọn thiết bị iOS vừa kết nối
- Đảm bảo bạn đang ở tab All messages, xóa nhật ký cũ bằng cách nhấp vào nút Clear
- Thực hiện các bước tái tạo lỗi trên iOS
- Nhấn tổ hợp phím Command+A để chọn tất cả nhật ký được ghi và nhấn Command+C để sao chép chúng
- Mở trình soạn thảo văn bản như TextEdit lên, mở cài đặt của nó và thay đổi định dạng file thành văn bản thô (.txt)
- Tạo mới file rồi dán nhật ký đã sao chép bằng cách nhấn Command+V
- Lưu lại với định dạng .txt và tải lên báo cáo
libimobiledevice (chỉ Linux)
- Tải xuống và cài đặt phần mềm libimobiledevice
- Dùng dây cáp USB để kết nối iOS với máy tính của bạn
- Chuột phải vào thư mục Desktop và chọn Open terminal here
- Trong cửa sổ terminal, gõ lệnh:
idevicesyslog | tee log.txt
để thu thập và ghi nhật ký vào file - Thực hiện các bước tái tạo lỗi trên iOS
- Nhấn tổ hợp phím Ctrl+C để dừng thu thập, sau đó đóng terminal lại
- Tìm file log.txt và tải lên báo cáo là xong
Nhật ký “Crashed App”
Loại nhật ký này được yêu cầu khi một ứng dụng iOS bị tắt đột ngột với thông báo có mã lỗi đi kèm, nó giống như màn hình xanh chết chóc trên Windows và đươc xếp vào loại lỗi nghiêm trọng nhất. Không giống Android, nhật ký này trên iOS cần được thu thập theo cách riêng biệt
Các nhà phát triển sẽ dùng nhật ký này để phân tích về vấn đề bị crash, và dựa trên nó để hiểu các vấn đề tồn đọng, tiềm ẩn trong ứng dụng
Có 2 cách chính để thu thập loại nhật ký này:
Trực tiếp trên iPhone hoặc iPad
- Thực hiện các bước tái tạo lỗi bắt đầu từ hành động mở app
- Mở ứng dụng Settings lên
- Chạm vào Privacy
- Vuốt xuống dưới và chạm vào Analytics & Improvements
- Chạm vào Analytics Data
- Chạm vào báo cáo với tên ứng dụng bị crash cùng mốc thời gian (danh sách được sắp xếp theo bảng chữ cái)
- Chia sẻ qua bất kì ứng dụng nào có sẵn (ví dụ: Gmail) rồi lại tải xuống từ đó
- Tải lên nhật ký với định dạng .ips tới bài báo cáo của bạn
iTunes (Windows hoặc MacOS dựa trên Catalina)
- Tải xuống, cài đặt và mở iTunes lên
- Kết nối iOS tới máy tính qua dây cáp USB (Nếu quá trình đồng bộ không tự bắt đầu, bạn phải bắt đầu nó một cách thủ công)
- Thực hiện các bước tái tạo lỗi bắt đầu từ hành động mở app
- Đi tới thư mục Reports trên máy tính của bạn (Đảm bảo bật tùy chọn show hidden items) theo định dạng sau:
- MacOS X:
~/Library/Logs/CrashReporter/MobileDevice/<tên thiết bị>
- Windows:
C:\Users\<tên người dùng>\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<tên thiết bị>
- MacOS X:
- Tìm file .log, .crash hoặc .ips bao gồm tên ứng dụng bị crash và dấu thời gian
- Tải lên báo cáo lỗi của bạn