У меня рутованный телефон Android 7, и я хотел бы вывести файлы событий ввода Unix.Используя adb, я мог бы сделать это с помощью следующей команды:
adb shell getevent -t /dev/input/event7 > recorded_touch_events.txt
Это выгрузит файл event7 в записанный_туш_венец.txt.Но это работает только тогда, когда телефон соединен USB-кабелем с ПК.С помощью Android я могу создавать дампы файлов со следующим кодом:
th = new Thread(new Runnable(){
private Process exec;
@Override
public void run() {
try {
exec = Runtime.getRuntime().exec(new String[]{"su","-c","getevent -t /dev/input/event7"});
InputStreamReader is = new InputStreamReader(
exec.getInputStream());
String s;
BufferedReader br = new BufferedReader(is);
while(((s = br.readLine()) != null) && run){
// write line to text file
}
is.close();
exec.destroy();
} catch (IOException e) {
e.printStackTrace();
}
}
Таким образом, я могу сохранить каждую строку чтения в текстовом файле.
Существуют ли другие подходы (возможно, более быстрые)для непосредственного сброса файла события?