Once, I was playing with a number of Chinese tablets and trying different ROMs on them as they are technically the same hardware (HSG X5A variants).
I've had some problems getting the hard buttons to work though, so I wrote this application to detect key events and print them out. It will print out the following:
KeyEvents: The KeyEvents as Android understands them (KeyUp, KeyDown, KeyLongPress, KeyMultiple)
LogCat: Any relevant messages in logcat. Its filtered based on keywords declared in arrays.xml
Kernel: Any relevant messages in the kernel log. Its filtered based on keywords declared in arrays.xml. Kernel log parsing needs root.
The three checkboxes at the top control what information will be displayed.
This is a personal debug tool, but I hope it will be of some use to someone else.
No Ads.
Notes
--------------
While the application is running, the only "hard" keys which should work is "Home" and power. All others will produce their keycodes.
The SU request is to read the kernel log, so I can check if any keyevents are thrown by the kernel.
The location of keylayout files in Android is /system/usr/keylayout.
Kernel log parsing needs root
Both logcat and kernel log monitoring will only display lines containing words from two arrays in arrays.xml (i.e. you need to recompile the app to change them at the moment)
Currently the filters are:
Logcat:
|-HwGPIOE->GPDA
|-keycode
|-keycharacter
Kernel:
|-HwGPIOE->GPDA
|-keycode
|-keycharacter
Permissions
--------------
READ_LOGS: Used to access the Logcat log.
WRITE_EXTERNAL_STORAGE: Used to write the exported data to the SD card.
</div> <div jsname="WJz9Hc" style="display:none">Một lần, tôi đã chơi với một số máy tính bảng của Trung Quốc và cố gắng ROM khác nhau trên chúng như họ có kỹ thuật phần cứng giống nhau (HSG X5A biến thể).
Tôi đã có một số vấn đề nhận được các nút bấm cứng để làm việc mặc dù, vì vậy tôi đã viết ứng dụng này để phát hiện các sự kiện quan trọng và in chúng ra. Nó sẽ in ra như sau:
KeyEvents: Các KeyEvents như Android hiểu họ (KeyUp, KeyDown, KeyLongPress, KeyMultiple)
Logcat: Bất kỳ thông điệp có liên quan trong logcat. Được lọc dựa trên các từ khóa khai báo trong arrays.xml
Kernel: Bất kỳ thông điệp có liên quan trong nhật ký kernel. Được lọc dựa trên các từ khóa khai báo trong arrays.xml. Kernel phân tích log cần root.
Ba hộp kiểm tại đầu kiểm soát thông tin gì sẽ được hiển thị.
Đây là một công cụ gỡ lỗi cá nhân, nhưng tôi hy vọng nó sẽ được sử dụng một số người khác.
Không có quảng cáo.
Ghi chú
--------------
Trong khi các ứng dụng đang chạy, chỉ có phím "cứng" mà nên làm việc là "Home" và quyền lực. Tất cả những người khác sẽ sản xuất mã phím của họ.
Các yêu cầu SU là để đọc các log hạt nhân, vì vậy tôi có thể kiểm tra nếu có keyevents được ném bởi hạt nhân.
Các vị trí của các tập tin keylayout trong Android là / system / usr / keylayout.
Phân tích log Kernel cần gốc
Cả hai logcat và hạt nhân theo dõi nhật ký sẽ chỉ hiển thị các dòng có chứa các từ từ hai mảng trong arrays.xml (tức là bạn cần phải biên dịch lại ứng dụng để thay đổi chúng vào lúc này)
Hiện nay các bộ lọc là:
Logcat:
| -HwGPIOE-> GPDA
| -keycode
| -keycharacter
Kernel:
| -HwGPIOE-> GPDA
| -keycode
| -keycharacter
Quyền
--------------
READ_LOGS: Được sử dụng để truy cập các bản ghi Logcat.
WRITE_EXTERNAL_STORAGE: Được sử dụng để ghi dữ liệu xuất khẩu sang thẻ SD.</div> <div class="show-more-end">