Невозможно получить команду оболочки ADB с путем, работающим в оболочке Windows

1

Я пытаюсь получить цвет пикселя из скрипада. Хотя я могу заставить команду работать, когда я сначала использую 'adb shell', я хочу иметь возможность запускать команду прямо из оболочки Windows. Я попробовал все предложения в этом посте, но не могу заставить его работать.

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd

Это возвращает

'Система не может найти указанный путь'

Если я попробую:

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell \"dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd\"

Возвращает:

/system/bin/sh: dd if = '/sdcard/screen.dump' bs = 4 count = 1 skip = 54950 2>/dev/null | не найден

Файл sh существует в /system/bin/, поэтому я понятия не имею, что происходит.

Теги:
adb

1 ответ

0

Вам не нужно бежать " символ для ввода команды для adb shell.

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell "dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd"

будет в порядке.

Кроме того, ваш комментарий сказал:

Эта папка уже находится в моей переменной окружения PATH.

Тогда вам не нужно указывать полный путь к adb.

adb -s 127.0.0.1:21503 shell "dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd"

тоже хорошо.


Сообщение об ошибке,

/system/bin/sh: dd if = '/sdcard/screen.dump' bs = 4 count = 1 skip = 54950 2>/dev/null | не найден

указывает на то, что не существует исполняемого файла с именем "dd if = '/sdcard... null | hd", но вы просто нуждаетесь в них в качестве параметров, а не полного имени исполняемого файла.


Для вашей первой попытки,

"C:\Program Files\Microvirt\MEmu\adb.exe" -s 127.0.0.1:21503 shell dd if='/sdcard/screen.dump' bs=4 count=1 skip=54950 2>/dev/null | hd

Эта команда будет относиться к hd вне adb shell, она будет выполняться из командной строки Windows.

Обновление: мы можем использовать параметр od или hd чтобы сделать некоторые трюки.
Например, на моем устройстве busybox od имеет параметр [-t TYPE], [-A RADIX], [-N SIZE] и [-j SKIP], затем на моем телефоне я могу сделать

adb shell od -N4 -j54950 -tx1 -Ax /sdcard/screen.dump
  • 0
    @JonGoodwin Это оригинальная авторская конфигурация для подключения ADB к устройству, возможно, на той же машине есть эмулятор. Так что я просто держу это.
  • 0
    @JonGoodwin Я не уверен , если почтовый ящик оригинального автора будет сообщения на наш комментарий s ... Но, мы знаем, когда он вернется к этому вопросу, то он увидит наши ответы и комментарии. Кроме того, произойдет ошибка, если я попытаюсь упомянуть двух человек: «Только один дополнительный @ пользователь может быть уведомлен; владелец сообщения всегда будет уведомлен».
Показать ещё 12 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню