Android Studio 3.0.1模拟器无法输入大写字母B问题求助
解决AVD模拟器物理键盘无法输入大写'B'的问题
先明确下你的环境和问题:
你正在使用Android Studio 3.0.1开发应用,SDK配置如下:
flavorDimensions "default" compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { applicationId "com.logi3pl.wms.wmsmobile" minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.1.23" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }
近期更新后,所有AVD模拟器都无法通过物理键盘输入大写字母'B'——小写'b'和其他字符的大小写输入都正常,屏幕键盘也能正常输入大写'B',而且这个问题是全局的(谷歌搜索栏、其他应用都受影响)。
结合我碰到过的类似情况,给你几个排查和解决的方向:
1. 检查AVD的键盘核心配置
先从模拟器本身的设置入手:
- 打开AVD Manager,点击出问题模拟器右侧的Edit按钮
- 滚动到页面底部,点击Show Advanced Settings
- 找到Keyboard区域,确保Enable Keyboard Input是勾选状态(有时候更新后这个选项会被意外取消)
- 同时确认没有自定义的按键映射被错误修改
2. 重置模拟器的配置文件
模拟器的配置文件偶尔会因为更新出现错乱,试试重置:
- 完全关闭出问题的模拟器
- 找到AVD的存储目录(Windows一般在
C:\Users\[你的用户名]\.android\avd\[模拟器名称].avd,Mac/Linux在~/.android/avd/[模拟器名称].avd) - 备份
config.ini文件后删除它 - 重新启动模拟器,系统会自动生成全新的配置,再测试大写'B'的输入
3. 调整Android Emulator组件版本
这个问题大概率是Android Emulator更新后出现的兼容性问题:
- 打开SDK Manager,切换到SDK Tools标签
- 找到Android Emulator,如果是刚更新到新版本,试试降级到之前的稳定版本(比如和你SDK 26匹配的旧版模拟器)
- 如果当前版本较旧,也可以尝试更新到最新兼容的版本(注意不要跨太大版本,避免和SDK 26不兼容)
4. 测试不同的系统镜像
可能是你当前使用的API 26系统镜像存在bug:
- 新建一个AVD,选择API 26的另一个系统镜像(比如x86和x86_64版本互换,或者选择带Google Play的镜像)
- 也可以试试创建API 25的AVD测试,如果这个模拟器能正常输入大写'B',那基本可以确定是API 26镜像的问题
5. 手动修复按键映射文件
如果上面的方法都没用,可以手动修改模拟器的按键映射:
- 找到模拟器目录下的
userdata.qemu.keymap文件(如果没有就新建一个) - 打开文件,添加或确认以下内容(对应美式键盘的按键映射):
key 42 CAPS_LOCK key 48 B key shift-48 B - 保存文件后重启模拟器,测试物理键盘的大写'B'输入
6. 排除电脑端的键盘问题
最后确认下不是电脑本身的问题:
- 在电脑的记事本或浏览器地址栏里输入大写'B',确认键盘硬件和系统设置正常
- 检查电脑的键盘布局,确保没有切换到非美式键盘(比如英式键盘的B键位置不同,但你说其他字符正常,这个概率较低)
内容的提问来源于stack exchange,提问作者Mehmet Taylan Oztek
相关产品推荐
相关产品推荐

