Android-эмулятор не использует клавиатуру - инструменты SDK rev 20

Я обновил инструменты SDK до версии 20 (с 18), и с момента обновления эмулятор, похоже, не принимает ввод с клавиатуры ноутбука. Но только с использованием эмулятора собственной "мягкой" клавиатуры (которая появляется, когда поле ввода сфокусировано).

Я попытался переустановить инструменты SDK (и весь SDK, если на то пошло), удалил и переустановил плагины Eclipse Android, заново создал эмулятор устройств. Но ничто из этого не помогает и сводит меня с ума. Его безнадежно подключиться к клавиатуре ноутбука.

Кто-нибудь столкнулся с этой проблемой?

Ответ 1

Обновление

Начиная с версии SDK rev 21, у Android Virtual Device Manager улучшенный пользовательский интерфейс, который разрешает эту проблему. Я выделил некоторые из наиболее важных параметров конфигурации ниже:

enter image description here

Если вы заметили, что в вашем эмуляторе отсутствуют мягкие (экранные) основные клавиши Back, Home и т.д., вы можете установить hw.mainKeys=no, чтобы включить их.

enter image description here

Оригинальный ответ

Несмотря на то, что в документации разработчика говорится, что поддержка по умолчанию включена по умолчанию, похоже, что это не так, как в SDK rev 20. Я явно включил поддержку клавиатуры в моем файле config.ini моего эмулятора, и это сработало!

Добавить: hw.keyboard=yes

To: ~/.android/avd/<emulator-device-name>.avd/config.ini

Аналогичным образом добавьте hw.dPad=yes, если вы хотите использовать клавиши со стрелками для навигации по списку приложений.

Ссылка: http://developer.android.com/tools/devices/managing-avds-cmdline.html#hardwareopts

В Mac OS и Linux вы можете редактировать все конфигурации эмулятора с помощью одной команды терминала:

for f in ~/.android/avd/*.avd/config.ini; do echo 'hw.keyboard=yes' >> "$f"; done


В соответствующей заметке, если в эмуляторе планшета отсутствуют кнопки BACK/HOME, попробуйте выбрать WXGA800 в качестве встроенного скина в редакторе AVD: enter image description here

Или вручную настроив скин в config.ini:

skin.name=WXGA800
skin.path=platforms/android-16/skins/WXGA800

(пример для API 16)

Ответ 2

Подтверждено. У меня была такая же проблема после обновления до Tools version 20. Мне пришлось отредактировать AVD, чтобы добавить параметр следующим образом:

  1. От Eclipse, перейдите к AVD Mananger.
  2. Выберите конкретный AVD и нажмите "Изменить".
  3. Перейдите в раздел "Оборудование", нажмите "Новый".
  4. Выберите имя свойства: поддержка клавиатуры
  5. По умолчанию он добавляется со значением "нет". Просто нажмите на столбец значений и измените его на "да".
  6. Нажмите на Edit AVD еще раз.

Это добавит свойство hw.keyboard = yes в файл config.ini для AVD.

Вы также должны установить hw.mainKeys = yes

Ответ 3

В Android Studio откройте AVD Manager (Tools > Android > AVD Manager). Нажмите кнопку "Редактировать" эмулятора: enter image description here

Выберите "Показать дополнительные настройки" enter image description here

Установите флажок "Включить ввод с клавиатуры" enter image description here

Нажмите "Готово" и запустите эмулятор, чтобы наслаждаться входом на клавиатуре.

Ответ 4

Посмотрите в AVD Manager, выберите AVD и нажмите Edit. В разделе "Оборудование" нажмите "Создать" и найдите "Поддержка клавиатуры" и добавьте кнопкой ОК и установите значение "Да" и сохраните изменения с помощью "Редактировать AVD"

Ответ 5

Google хотел дать больше головной боли разработчикам.

Итак, теперь вам нужно отредактировать свой AVD и добавить "Поддержка клавиатуры" для него в разделе "Оборудование" и изменить значение "Да"

Ответ 6

В домашней папке /.android/avd//config.ini добавить строку hw.keyboard = да

Ответ 7

Перезапуск эмулятора помогает иногда, когда набор текста недоступен - несмотря на то, что ввод с клавиатуры включен для вашего виртуального устройства Android.

Ответ 8

На всякий случай кто-то найдет это полезным.

У меня возникла проблема с KEYCODE_DPAD_UP, принадлежащей trackBall. для решения этой проблемы измените вашу avdfolder/ config.ini hw.trackBall = yes и нажмите DEL или F6

Ответ 9

Ищите скрытую папку .android в домашней папке пользователя. Вы можете переименовать или удалить эту папку, воссоздать свой AVD и перезапустить эмулятор. Возможно, в этой папке есть файл .ini, который отключил этот параметр.

Ответ 10

Воссоздание AVD с аппаратной клавиатурой + установка логического значения в true была единственным решением, которое сработало для меня; другие два основных решения (терминал или редактирование существующего AVD через GUI) привели к сбою программного обеспечения/эмулятора на моем Mac. Создание нового AVD привело к тому, что клавиатура работала нормально.

Ответ 11

Вот некоторый обходной путь, который на самом деле работал для меня, это то же решение, что и в самом популярном ответе - просто добавьте hw.keyboard = yes в config.ini, но так как это не сработало для меня, я дополнительно

  1. переименован в config.ini (подойдет любое имя), например, consssssfig.ini
  2. перезапустил эмулятор (очевидно, он не запустился)
  3. переименовал config.ini обратно
  4. (Я не уверен, если уместно) я добавил этот новый параметр (hw.keyboard = yes) в начале файла config.ini