Иногда я запускаю adb на Win7, как под cmd.exe, так и под Cygwin, и меня расстраивает то, как adb shell обрабатывает автозаполнение и эхо символов.Я также использую adb под OS X и Linux, и в обеих этих средах автозаполнение и обработка символов работают, как я и ожидал.Проблема в Windows заключается в том, что adb shell не устанавливает режимы терминала ( stty / termio () для оболочек типа UNIX).Я нашел следующий обходной путь, который, похоже, хорошо работает для оболочки Cygwin bash.Я недостаточно хорошо знаю Windows, чтобы знать, существует ли подобная команда для stty для cmd.exe:
$ stty -icanon -echo -echoe intr ^0 ; adb shell ; stty sane
Конечно, вы можете поместить это в скрипт.
Я считаю, что причина, по которой перекомпиляция adb в Cygwin устраняет эту проблему (в Cygwin), заключается в том, что перекомпиляция заставляет adb использовать вызовы termio () для настройки режимов локального терминала, чтобыне мешать вводить текст в оболочку Android.