Android模拟器不接受键盘输入 - SDK工具rev 20

时间:2012-06-27 21:57:48

标签: android android-emulator

我已将SDK工具升级到版本20(从18开始),自升级以来,模拟器似乎不接受来自笔记本电脑键盘的输入。但只能使用模拟器自己的“软”键盘(在输入场聚焦时出现)。

我尝试重新安装SDK工具(以及整个SDK),卸载并重新安装Eclipse Android插件,重新创建模拟器设备。但这些似乎都没有帮助,它让我发疯。无望使用笔记本电脑的触控板进行键入。

有没有人遇到过这个问题?

12 个答案:

答案 0 :(得分:459)

<强>更新

自SDK rev 21起,Android虚拟设备管理器具有改进的UI,可解决此问题。我在下面重点介绍了一些更重要的配置设置:

enter image description here

如果您发现模拟器中缺少基于屏幕的软键BackHome等,则可以设置hw.mainKeys=no以启用它们。

enter image description here

原始回答

即使开发人员文档显示默认情况下启用了键盘支持,但它在SDK rev 20中似乎没有那种方式。我在我的模拟器的config.ini文件中明确启用了键盘支持并且这有效!

添加:hw.keyboard=yes

收件人:~/.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)

答案 1 :(得分:111)

确认。升级到工具版本20后,我遇到了同样的问题。我必须编辑AVD以添加选项,如下所示:

  1. 从Eclipse,转到AVD Mananger。
  2. 选择特定的AVD,然后单击编辑
  3. 转到“硬件”部分,单击“新建”。
  4. 选择“属性名称:键盘支持”
  5. 默认情况下,它的值为“no”。只需单击值列并将其更改为“是”。
  6. 再次点击编辑AVD。
  7. 这将在config.ini文件中为AVD添加属性hw.keyboard = yes。

    您还必须设置hw.mainKeys = yes

答案 2 :(得分:58)

在Android Studio中,打开AVD Manager(工具&gt; Android&gt; AVD Manager)。 点击模拟器的“编辑”按钮: enter image description here

选择“显示高级设置” enter image description here

选中“启用键盘输入” enter image description here

单击“完成”并启动模拟器以享受键盘输入。

答案 3 :(得分:15)

在AVD Manager中查看,选择AVD并单击“编辑”。在硬件部分:单击“新建”并搜索“键盘支持”并使用确定按钮添加并将值设置为“是”并使用“编辑AVD”保存更改

答案 4 :(得分:10)

谷歌想让开发人员更加头疼。

所以,你现在要做的就是编辑你的AVD并在硬件部分为它添加“键盘支持”并将值改为“是”

答案 5 :(得分:4)

在您的主文件夹中 /.android/avd//config.ini 添加线 hw.keyboard =是

答案 6 :(得分:2)

重新启动模拟器有时会在输入不可用时提供帮助 - 尽管为您的Android虚拟设备启用了键盘输入。

答案 7 :(得分:1)

以防有人发现它有用。

我遇到了 KEYCODE_DPAD_UP 的问题,它属于trackBall。解决这个问题你的avdfolder / config.ini hw.trackBall = yes 并推送DEL或F6

答案 8 :(得分:0)

在用户主文件夹中查找隐藏的.android文件夹。您可以重命名或删除此文件夹,重新创建AVD,然后重新启动模拟器。可能是该文件夹中有一个.ini文件,该文件具有该设置。

答案 9 :(得分:0)

使用硬件键盘重新创建AVD +将布尔值设置为true是唯一对我有用的解决方案;另外两个主要解决方案(终端或通过GUI编辑现有的AVD)都导致我的Mac上的软件/模拟器崩溃。制作一个新的AVD导致键盘正常工作。

答案 10 :(得分:0)

这是一些对我有效的解决方法,它与最受欢迎的答案中的解决方案相同-     将hw.keyboard = yes添加到config.ini 但由于这无效对我来说我

  1. 将config.ini重命名为任何名称,例如consssssfig.ini
  2. 重新启动模拟器(显然它没有启动)
  3. 再次将config.ini重命名
  4. (我不确定是否相关)我在config.ini文件的开头添加了这个新参数(hw.keyboard = yes)

答案 11 :(得分:0)

我使用了 API 级别 23 的模拟器,它不接受已安装 apk 的键盘输入。 所以我为 API Level 29 创建了新的模拟器,然后它就可以工作了。 以下是安装新模拟器的步骤。

  1. 打开“Android 虚拟设备管理器”
  2. 创建新的虚拟设备。
  3. 选择系统镜像时,请在“虚拟设备配置”窗口选择并下载最新版本(API Level29)