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, чтобы добавить параметр следующим образом:
- От Eclipse, перейдите к AVD Mananger.
- Выберите конкретный AVD и нажмите "Изменить".
- Перейдите в раздел "Оборудование", нажмите "Новый".
- Выберите имя свойства: поддержка клавиатуры
- По умолчанию он добавляется со значением "нет". Просто нажмите на столбец значений и измените его на "да".
- Нажмите на 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, но так как это не сработало для меня, я дополнительно
- переименован в config.ini (подойдет любое имя), например, consssssfig.ini
- перезапустил эмулятор (очевидно, он не запустился)
- переименовал config.ini обратно
- (Я не уверен, если уместно) я добавил этот новый параметр (hw.keyboard = yes) в начале файла config.ini