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

我尝试重新安装SDK工具(以及整个SDK),卸载并重新安装Eclipse Android插件,重新创建模拟器设备。但这些似乎都没用,我都快疯了。用笔记本电脑的触控板输入是不可能的。

有人遇到过这个问题吗?


当前回答

更新

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

如果你注意到模拟器中缺少软(基于屏幕的)主键Back, Home等,你可以设置hw。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上,你可以用一个Terminal命令编辑模拟器的所有配置:

For f in ~/.android/avd/*.avd/config.ini;重复'hw '。键盘=yes' >> "$f";完成


另外,如果你的平板电脑模拟器缺少BACK/HOME按钮,试着在AVD编辑器中选择WXGA800作为内置皮肤:

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

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

(例如api16)

其他回答

更新

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

如果你注意到模拟器中缺少软(基于屏幕的)主键Back, Home等,你可以设置hw。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上,你可以用一个Terminal命令编辑模拟器的所有配置:

For f in ~/.android/avd/*.avd/config.ini;重复'hw '。键盘=yes' >> "$f";完成


另外,如果你的平板电脑模拟器缺少BACK/HOME按钮,试着在AVD编辑器中选择WXGA800作为内置皮肤:

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

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

(例如api16)

在你的用户主文件夹中寻找隐藏的。android文件夹。您可以重命名或删除此文件夹,重新创建AVD,并重新启动模拟器。可能是那个文件夹里有个。ini文件这个设置被屏蔽了。

重启模拟器有时会在输入不可用时有所帮助——尽管你的Android虚拟设备启用了键盘输入。

在Android Studio中打开AVD管理器(Tools > Android > AVD管理器)。 点击模拟器的Edit按钮:

选择“显示高级设置”

勾选“启用键盘输入”

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

这里有一些变通办法,实际上对我有用,它是相同的解决方案在最流行的答案-只是 添加hw。键盘=yes config.ini 但由于这对我不起作用,我另外

重命名config.ini(任何名称都可以)为consssssfig.ini 重新启动模拟器(显然它没有启动) 重新命名config.ini (我不确定是否相关)我在config.ini文件的开头添加了这个新参数(hw.keyboard=yes)