Эмулятор Android с пользовательской сборкой не принимает ввод с клавиатуры

У меня есть собственный образ Android, использующий специально созданное ядро ​​​​золотой рыбки. Я использую эмулятор для разработки ПО.

emulator -kernel out/target/product/atom/kernel

Когда я обновился до SDK 20, я больше не получаю ввод с клавиатуры ни с хоста, ни с графической клавиатуры. Раньше это работало. Я видел комментарии об установке свойства hw.keyboard = yes. Я не могу найти последовательность операций, которые работают.

а) попробуйте запустить эмулятор и настроить мою аппаратную конфигурацию

emulator -verbose -kernel out/target/product/atom/kernel -qemu -android-hw /home/jgrecco/work/ics-4.0.4/out/target/product/atom/hardware-qemu.ini

Аппаратное обеспечение-qemu перезаписывается, а параметр hw.keyboard - нет.

б) Создайте AVD и загрузите мое собственное ядро ​​​​и образ

ex: android create avd --force -b x86 -n aal_emul -t 3

emulator -kernel out/target/product/atom/kernel -show-kernel  @aal_emul

Но не удалось заставить AVD загрузить мой собственный образ. Кажется, загружается образ по умолчанию. Я пытался скопировать файлы img, но безуспешно.

c) Попытался изменить настройки hardware.ini по умолчанию ics-4.0.4/external/qemu/android/avd/hardware-properties.ini безрезультатно.

много много других вариантов.

Если кто-то может заставить любое из вышеперечисленных решений работать или сказать мне одно из них, я был бы признателен. Кстати, это для атома x86.

ТИА


person JGrecco    schedule 05.09.2012    source источник


Ответы (2)


После долгих экспериментов, гугления, большого количества проклятий неточной (устаревшей) документации и обновления всех моих источников (борьба с зависаниями синхронизации репо — разглагольствование), я нашел обходной путь. Я думал, что опубликую это на благо других.

Основная проблема заключалась в том, что после обновления до SDK 20 я больше не мог вводить данные в приложение ЛЮБЫМИ средствами (настоящей клавиатурой или клавиатурой эмулятора). Это произошло только при загрузке моего собственного образа "lunch #; emulator -kernel out/target/product/...". Ни одна из попыток переопределить свойство hw.keyboard, как описано выше, у меня не сработала.

Обходной путь, который я нашел, заключается в изменении настройки в эмуляторе во время выполнения. Настройки->Язык и ввод->default_Hardware Физическая клавиатура (ВЫКЛ). Хотя я не могу использовать клавиатуру хоста, теперь я могу использовать клавиатуру эмулятора для ввода.

person JGrecco    schedule 11.09.2012

Попробуйте установить 'hw.keyboard=true' в файле config.ini, который существует вместе с hardware-qemu.ini. Это переопределяет значение по умолчанию в hardware-qemu.ini и не должно перезаписываться.

person NeroP    schedule 16.04.2017