Почему Java видит путь к каталогу logcat как выражение фильтра? - PullRequest
0 голосов
/ 20 марта 2019

Мне нужно скопировать LogCat с устройства Android на ПК с Windows.Команда Logcat:

adb -s deviceUDID logcat -d> C: \ logcat \ logcat.log

успешно выполняется из командной строки.Однако, если я запускаю его из кода:

public void adbCommand(adbCommands theCommand) throws IOException {
        Log.info("Running ADB command : " + theCommand.get_command());

        Process exec = Runtime.getRuntime().exec(theCommand.get_command());
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
        BufferedReader errorReader = new BufferedReader(new InputStreamReader(exec.getErrorStream()));
        new Thread(() -> {
            try {
                String line;
                while((line=bufferedReader.readLine())!=null){
                    Log.info(line);
                }
                while((line=errorReader.readLine())!=null){
                    Log.info("error: "+line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }).start();

        try {
            exec.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        Log.info("Done");

, вывод:

adb -s deviceUDID logcat -d -s> C: \ logcat \ logcat.log ошибка: Неверное выражение фильтра 'C: \ logcat \ logcat.log'

Есть идеи, что здесь не так?Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Единственный способ заставить его работать, это добавить «cmd / c» перед командой adb:

  • cmd / c adb -s deviceUDID logcat -d> C: \ logcat \ logcat.TXT
0 голосов
/ 21 марта 2019

Сравните распечатку с введенной вручную строкой:

Running ADB command : adb -s deviceUDID logcat -d -s > C:\logcat\logcat.log 
Pring to println :    adb -s deviceUDID logcat -d -s > C:\logcat\logcat.log –
Manually entered:     adb -s deviceUDID logcat -d > C:\logcat\logcat.log

Есть доп-ы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...