332

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

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

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

4

13 回答 13

477

更新

从 SDK rev 21 开始,Android 虚拟设备管理器具有改进的 UI,可解决此问题。我在下面强调了一些更重要的配置设置:

在此处输入图像描述

如果您发现模拟器中缺少软(基于屏幕的)主键Back、等,您可以设置为启用它们。Homehw.mainKeys=no

在此处输入图像描述

原始答案

尽管开发人员文档说默认启用键盘支持,但在 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 按钮,请尝试在 AVD 编辑器中选择WXGA800作为内置皮肤: 在此处输入图像描述

或者通过在 config.ini 中手动设置皮肤:

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

(示例适用于 API 16)

于 2012-06-28T20:36:40.733 回答
113

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

  1. 从 Eclipse 转到 AVD Mananger。
  2. 选择特定的 AVD 并单击编辑
  3. 转到硬件部分,单击新建。
  4. 选择属性名称:键盘支持
  5. 默认情况下,它会添加一个值“no”。只需单击值列并将其更改为“是”。
  6. 再次单击编辑 AVD。

这将在 config.ini 文件中为 AVD 添加一个属性 hw.keyboard=yes。

您还必须设置 hw.mainKeys = yes

于 2012-06-29T10:11:29.967 回答
60

在 Android Studio 中,打开 AVD 管理器(工具 > Android > AVD 管理器)。点击模拟器的编辑按钮: 在此处输入图像描述

选择“显示高级设置” 在此处输入图像描述

勾选“启用键盘输入” 在此处输入图像描述

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

于 2015-05-19T13:54:32.763 回答
15

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

于 2012-06-28T18:05:16.747 回答
10

谷歌想让开发者更加头疼。

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

于 2012-06-29T12:05:44.040 回答
4

在您的主文件夹 /.android/avd//config.ini 添加行 hw.keyboard=yes

于 2013-08-25T12:18:50.907 回答
3

尽管您的 Android 虚拟设备启用了键盘输入,但在无法键入时重新启动模拟器有时会有所帮助。

于 2017-04-24T08:26:27.400 回答
2

以防万一有人发现它有用。

我对属于轨迹球的KEYCODE_DPAD_UP有疑问。要解决此问题,请更改您的 avdfolder/ config.ini hw.trackBall=yes并按 DEL 或 F6

于 2014-07-02T00:06:15.493 回答
1

这是一些实际上对我有用的解决方法,它与最流行的答案中的解决方案相同 - 只需将 hw.keyboard=yes 添加到 config.ini 但由于这对我不起作用,我另外

  1. 将 config.ini (任何名称都可以)重命名为 conssssfig.ini
  2. 重新启动模拟器(显然它没有启动)
  3. 再次重命名 config.ini
  4. (我不确定是否相关)我在 config.ini 文件的开头添加了这个新参数(hw.keyboard=yes)
于 2018-10-01T06:54:10.097 回答
0

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

于 2012-06-28T01:13:28.663 回答
0

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

于 2012-10-21T15:45:46.050 回答
0

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

  1. 打开“Android 虚拟设备管理器”
  2. 创建新的虚拟设备。
  3. 选择系统镜像时,请在“虚拟设备配置”窗口选择并下载最新版本(API Level29)
于 2021-02-14T03:20:58.523 回答
0

有时电脑键盘在安卓模拟器上停止工作。今天我注意到,按下此按钮(我用红色箭头标记)后,键盘再次开始工作(似乎是没有模拟器窗口焦点的一些问题)

截屏

于 2021-10-08T20:41:05.017 回答